获取GridView ASP.Net的更改行

时间:2009-06-16 14:29:10

标签: asp.net gridview

如何找到gridview中已更改的所有行。我不能以任何形式使用Ajax

3 个答案:

答案 0 :(得分:1)

首先在网格更改之前获取网格内容(例如缓存原始gridview数据源绑定的结果)。然后浏览数据集/数据表/但是要存储它,并将内容与gridview的当前行进行比较。

答案 1 :(得分:1)

没有真正有效的方法,没有像GridView.GetAllChangedRows()那样的方法。因此,您可能会做的是保留每次修改行时添加的幕后列表(使用RowUpdated方法),然后在需要时清除此列表。

答案 2 :(得分:0)

这取决于您要连续编辑的列数。

如果一行中只有一个可编辑列,那么您可以将javascript方法与要修改的控件相关联,并且在该方法中,您可以获得可以保存在另一个隐藏字段和服务器端的rowid可以获取其id存储在隐藏字段中的所有行。

如果在这种情况下你可以编辑整行,那么我认为你应该保存原始数据源的最佳方法,并设置一个带有rowclick事件的javascript方法来获取用户选择的rowid。然后,当用户单击“提交”按钮时,获取其行ID存储在隐藏字段中的所有行,然后将这些行与数据源中的相同rowid进行比较。从我的角度来看,这是最好的方法。

让我举个例子,假设网格中有1000行,用户只点击180行。在这种情况下,我们只比较180行,不会比较其余的行。

如果有人对此有更好的了解,请告诉我。