c# - Update single cells in DataGrid -
how can update single cell in datagrid row id?
my output works @ moment 1 static row. (messagebox output shows right values) intention use on whole grid.
private void btnupdateuserdata_click(object sender, routedeventargs e) { messagebox.show("id: " + muserdataobject[0].id + ", username: " + muserdataobject[0].username + ", password: " + muserdataobject[0].password + ", rolle: " + muserdataobject[0].role); // implemented // muserdataobject[i].username = "new username"; }
xaml code
<datagridtemplatecolumn> <datagridtemplatecolumn.celltemplate> <datatemplate> <button click="btnupdateuserdata_click">update</button> </datatemplate> </datagridtemplatecolumn.celltemplate> </datagridtemplatecolumn>
if want update value row on button clicked, button's datacontext
represent instance of user
object.
modify property directly instance , reflected in ui instantly provided inotifypropertychanged
implemented on user class.
private void btnupdateuserdata_click(object sender, routedeventargs e) { datagrid.commitedit(); // add line editing cell gets commit. user currentuser = ((button)sender).datacontext user; messagebox.show("id: " + currentuser.id + ", username: " + currentuser.username + ", password: " + currentuser.password + ", role: " + currentuser.role); currentuser.username = "new username"; }
update
in case want update property selecteditem
, give x:name
datagrid , use access selected item of datagrid.
xaml
<datagrid x:name="datagrid"> .... </datagrid>
code behind
private void btnupdateuserdata_click(object sender, routedeventargs e) { datagrid.commitedit(); // add line editing cell gets commit. user currentuser = datagrid.selecteditem user; // currentuser null in case selecteditem null. if(currentuser != null) { messagebox.show("id: " + currentuser.id + ", username: " + currentuser.username + ", password: " + currentuser.password + ", rolle: " + currentuser.role); currentuser.username = "new username"; } }
Comments
Post a Comment