c# - How to Update data in DataGrid -
i trying update datagrid unfortunately not able to! application have datagrid data loaded csv file. of data needs updated. not able find right way reflect updates on grid.
here have far:
// creation of datagrid this.datasource = new dataset(); datatable data = new datatable("products"); data.columns.add("note", system.type.gettype("system.string")); data.columns.add("details", system.type.gettype("system.string")); data.columns.add("net", system.type.gettype("system.string")); data.columns.add("empty weight", system.type.gettype("system.string")); data.columns.add("full weight", system.type.gettype("system.string")); data.columns.add("description", system.type.gettype("system.string")); data.columns.add("uom", system.type.gettype("system.string")); data.columns.add("item", system.type.gettype("system.string")); datasource.tables.add(data); datagrid1.datasource = data; when user press "load" button, load data grid:
datatable vehicle = datasource.tables[0]; . . // data read csv . vehicle.rows.add("a sample note", "...", full - empty, empty, full, "test description", "gr", i); // example here how tried update data on grid:
datatable vehicle = datasource.tables[0]; vehicle.rows[0].beginedit(); vehicle.rows[0].itemarray[0] = "test complete"; vehicle.rows[0].endedit(); vehicle.acceptchanges(); datagrid1.update(); but there no update grid.. missing?
i've never gotten tools update or acceptchanges work way want them to. suspect different seems obvious me.
also, have no knowledge if separate datatable linked (i.e. via underlying pointer). making change datatable may or may not translate changing data stored in datagridview.
for me, reassign it.
private void updatethedatagrid() { datatable vehicle = (datatable)datagrid1.datasource; // vehicle.rows[0].beginedit(); <- unsure if needed vehicle.rows[0].itemarray[0] = "test complete"; // vehicle.rows[0].endedit(); vehicle.acceptchanges(); datagrid1.datasource = vehicle; } another technique work directly datagridview control itself:
private void updatethedatagrid() { datagrid1.rows[0].cells[0].value = "test complete"; } note above: not have vs running, i'm not sure if code 100% accurate, should give idea.
as comment, interested know if there difference between version of adding column , version use:
// yours data.columns.add("note", system.type.gettype("system.string")); // mine data.columns.add("note", typeof(string));
Comments
Post a Comment