日期:2014-05-18  浏览次数:20343 次

求思路,判断gridview中选中的行属于哪个datatable
一个gridview,是用两个结构一样的datatable合并当做数据源的,
datatable1.merge(datatable2);
gridview1.datasource=datatable1;
gridview1.databind();

我想在前台页面进行删除,怎么能知道选中要删除的那行数据是哪个datatable的数据呢?

如果只有一个datatable,那么
datatable1.Rows.RemoveAt(e.RowIndex);
gridview1.EditIndex = -1;
这样就行了。

现在的问题是需要先判断e.RowIndex这行的数据是属于datatable1还是datatable2。


------解决方案--------------------
合并之前为每个datatable加个标识列,根据该标识列判读
------解决方案--------------------
首先确定,两个相同结构的表,里面的数据是不是有可能一样?也就是判断唯一性。如果有可能重复,就不太好办。
你可以在两张表合并成datatable的时候,增加一列唯一标识列(最好是自增长的,方便判断),自定义。只要有唯一性就OK。然后根据这个唯一的标识列来判断,我是属于哪一张表的记录。至于怎么判断,比如,我两张表合并的记录数总共有15条,那么自定义的ID就排到15,当我得知第一张表的记录数的时候,我就知道,我要删除是哪一张表的数据了。
------解决方案--------------------
需要判断的行 ,在绑定的时候 加属性 ,如 name="table1Row" ,然后js利用 这个属性判断