GridView分页后RowCommand出错:索引超出范围
首先,分析下原因:
1.前提DataKeyNames綁定。
2.將記錄排序分配索引號,從0開始。
3.當(dāng)點擊其他分頁時,GridView將重新分配count為當(dāng)前頁記錄數(shù)
eg: 每頁顯示2條,共5條,也就是3頁。
第一頁,GridView.count是2
第二頁,GridView.count也是2
第三頁,GridView.count是1
也就是說count是當(dāng)頁的條數(shù)。而e.CommandArgument索引號是遞增不重新分配。
解決方案:
??????????? int iPageIndex = GridView1.PageIndex;?? //獲取當(dāng)前頁索引
??????????? int iPageSize =? GridView1.PageSize;??????//獲取每頁顯示記錄數(shù)
??????????? int iIndex = Convert.ToInt16(e.CommandArgument)-iPageIndex*iPageSize;? //計算
??????????? string strId = GridView1.DataKeys[iIndex].Value.ToString();
????????????//ID獲取,是刪除,還是更新,隨你。
?
轉(zhuǎn)載于:https://www.cnblogs.com/X-Jonney/archive/2009/05/20/1467804.html
總結(jié)
以上是生活随笔為你收集整理的GridView分页后RowCommand出错:索引超出范围的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RMI使用小例
- 下一篇: 狗窝里的小日子- 3 ...