DataGrid和datatable数据绑定问题
我有一个DataGrid dg,绑定的数据源是一个datatable dt,现在我想删除dg的一行,同时删除dt中的相应行,重新绑定来实现删除后的刷新
由于dt的来源有很多,指的是根据不同的查询条件会得到不同的结果,查询的数据库中的表是固定的,所以不能从dt的来源上着手,只能从dt上着手,而用户可以对dg中的每一列进行排序,所以无法根据dg中选中行索引来得到它在dt中的索引
可能需要通过主键来找到相应的行,请大家分表为单一主键和联合主键两种情况给出解决办法,多谢
例如我一个页面中dg的数据来源为表A,主键为id
另一个页面中dg的数据来源为表B,主键为uid,gid,name
------解决方案--------------------单一主键就不用讲了.根据DataKeys[索引]去删除dt的数据
联合主键可以这样
dt.Columns.Add( "keyId ", typeof(string), "uid+ ', '+gid ");
然后绑定.
指定DataKeyField = "keyId ";
删除时先取出key值,然后用, 分成两个值.然后根据两个字段值去删除dt的数据.
------解决方案--------------------cpp2017(慕白兄)
正解