在我的项目中,我正在使用会话表。我将此会话表绑定到gridview, 在gridview行更新事件中。 我将会话表的记录保存到数据表中,并使用下面的代码进行更新:
dttable.rows(e.rowindex)("name")="arun"
dttable.Acceptchanges()
我的问题是当使用PageIndexChanging时,我可以在GridView的第一页编辑而没有任何问题,但是在第二页中它正在编辑第一页中与e.RowIndex相对应的那个,所以除了第一页之外没有发生任何变化gridview中的页面。
请帮忙。
答案 0 :(得分:0)
您的问题是使用来自当前页面的索引更新您的数据源。
dttable.rows(e.rowindex)("name")="arun"
使用以下一行更改上面的行:
dttable.Select("YourTableID = " + yourGridView.DataKeys(e.rowindex).Value)(0)("name")="arun"
总结一下,只需从网格视图中获取DataKey,然后使用此键从数据源中选择相关行并进行更新。
答案 1 :(得分:0)
您需要考虑您所在的页面而不仅仅是行号。它是一个数组,所以你必须给它一个与整个数组相对应的索引。
dttable.rows(e.rowindex + (mygridcontrol.currentpageindex * mygridcontrol.pagesize))("name")="arun"
dttable.Acceptchanges()