datagrid分页方式是“上一页”,“下一页”,翻到最后一页后,删除所有的记录(不是用的DeleteColumn。datagrid第一列加了CheckBox,把选中的都删除),即删除数据库里的记录,然后绑定数据,这时就出错了:无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount如何解决啊?

解决方案 »

  1.   

    删除完以后
    设置CurrentPageIndex=0
    再绑定一边
      

  2.   

    用这个吧:
    string strSql="DELETE FROM yourtable WHERE ID in ("+Request.Form["id"]+")";
    ...
    cmd.ExecuteNonQuery();
    ...
      

  3.   

    try
    {
    DataGrid1.DataBind();
    }
    catch
    {
    int i=DataGrid1.CurrentPageIndex;
    while(MyDataGrid.PageCount<=i)                      //控制最后一条纪录删除不出错
    {
    i--;
    }
    DataGrid1.CurrentPageIndex=i;
    DataGrid1.DataBind ();
    }
      

  4.   

    因为你的当前页还是原来的最后一页,可是已经没数据了就会报错的,将DataGrid1.CurrentPageIndex=0就可以了
      

  5.   

    删除之后,把currentpageindex设为0,帮定到第一页。因为你总页数少了1。
      

  6.   

    删除完以后
    设置CurrentPageIndex=0
    再绑定一边
      

  7.   

    这个问题我已经解决了.请看.
    http://www.cnblogs.com/wssmax/archive/2004/11/23/67646.html
      

  8.   

    我认为qqdao是可行的,同仁试试吧