取得当前的页数n,
删的时候取
n*d+i(d-每页项数)
i--当前页第几项

解决方案 »

  1.   

    我遇到的问题不知道跟你的有相像之处没有
    我的DataGrid中如果有两页,并且第二页只有一行,并且删除这一行试出错!
    我的解决方法:在邦定代码前加
    if(DataGrid1.CurrentPageIndex > 0)
    {
    if ( DataGrid1.CurrentPageIndex == DataGrid1.PageCount - 1 && DataGrid1.Items.Count % DataGrid1.PageSize == 1)
    {
    DataGrid1.CurrentPageIndex = DataGrid1.CurrentPageIndex - 1;
    }
    }
    DataGrid1.DataSource = ddd.GetConInfo(0,1); 
    DataGrid1.DataBind();
      

  2.   

    取得当前的页数n,
    删的时候取
    n*d+i(d-每页项数)
    i--当前页第几项
    同时也要用这个方法:
    public void DelRowFormDataGrid(DataGrid dg)
    {
    if((dg.PageCount * dg.PageSize + dg.Items.Count - 1) % dg.PageSize == 0 && dg.CurrentPageIndex >0)//DATAGRID中的总页数乘以分页数加上当前页的总项数减一,再与DATAGRID的分页数求摸。如果等于零表示DATAGRID中的总页数已经减一,如果DATAGRID中当前索引大于零(DATAGRID中的当前索引是丛零开始),则DATAGRID的当前页需要用总页数减一。
    {
    dg.CurrentPageIndex =dg.PageCount -2;
    }
    dg.EditItemIndex = -1;//不重新设定编辑项会出现难以发现的错误。
    }
      

  3.   

    如果数据源存在Session["数据源"]中,那么直接用((DataTable)Session["数据源"]).Rows[e.Item.ItemIndex]["id"].ToString();
      

  4.   

    我把EnableViewState属性改成true就可以了
    请问EnableViewState是用来干什么的?