FineUI 官方论坛

标题: grid批量删除的问题 [打印本页]

作者: 起航    时间: 2013-6-23 18:48
标题: grid批量删除的问题
         sql += Grid1.DataKeys[row][0].ToString(); 这个获取的是当前选中行的DataKey 比如我选中第一页的第 1条数据 嗯没错获取到了DataKey ,但是我翻页后选中的是第二页的第1条数据,它依然获取的是第一页的当前第一条数据的DataKey。这个要怎么解决呢。
作者: 隨風往事    时间: 2013-6-23 19:33
选中行=选中行+页数*页面容量
作者: 起航    时间: 2013-6-23 21:02
隨風往事 发表于 2013-6-23 19:33
选中行=选中行+页数*页面容量

能代码具体说下吗?谢谢
作者: 隨風往事    时间: 2013-6-25 19:30
起航 发表于 2013-6-23 21:02
能代码具体说下吗?谢谢
  1. protected void BtnDel_Click(object sender, EventArgs e)
  2.         {
  3.             WriteLog("删除部分系统日志!");
  4.             int selectedCount = Grid1.SelectedRowIndexArray.Length;
  5.             if (selectedCount > 0)
  6.             {
  7.                
  8.                 for (int i = 0; i < selectedCount; i++)
  9.                 {
  10.                     int rowIndex = Grid1.SelectedRowIndexArray[i] + Grid1.PageIndex * Grid1.PageSize;
  11.                     
  12.                     object[] keys = Grid1.DataKeys[rowIndex];
  13.                      NetLibrary.DBAccess.ExecuteNonQuery("delete SysLog where FDate='" + keys[0].ToString() + "' and Fip='" + keys[1].ToString() + "' and Fuser='" + keys[2].ToString() + "'");
  14.                   
  15.                     
  16.                 }
  17.                 BindGrid();
  18.             }
  19.             else
  20.             {
  21.                 Alert.Show ("没有选中任何一行!");
  22.             }


  23.         }
复制代码

作者: 舞柯庶    时间: 2013-6-29 08:38
int selectedCount = Grid1.SelectedRowIndexArray.Length;

好像根本就获取不到非当前页面选中的数据的。
作者: 冬天    时间: 2013-6-29 10:02
可以参考官方实例中的跨页保持选中行http://fineui.com/demo/#/demo/gr ... base_selection.aspx




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4