try something like after you did the deletion
if (MyDataGrid.Items.Count == 1 && MyDataGrid.CurrentPageIndex > 0) 
{
    MyDataGrid.CurrentPageIndex = MyDataGrid.CurrentPageIndex - 1;
}

解决方案 »

  1.   

    你的datagrid已经到了第a页但是你删除哪个记录后,总共的item才够a-1页,所以会出错,在binding之前应该把datagrid.curpageindex--
    或者这样
    if(datagrid.pagecount<=datagrid.curpageindex)
    {
        datagrid.curpageindex--;
    }
    datagrid.databind();
      

  2.   

    TO:saucer(思归, MS .NET MVP),chenbinghui(阿炳) 那要是删到第一页的最后一行了呢?也会报错啊。
      

  3.   

    如果删除的是第一行
    {
    如果只有一页,那么把currentpageindex置0
    否则currentpageindex-1
    }
      

  4.   

    大家说都有理!我也说两句:你在删除一页的最后一条纪录的时候,页面会刷新但是PageIndex没有变!但是你又删除最后一条纪录也就是说这一也已经不存在了当然会错!应该是索引的问题。