http://expert.csdn.net/Expert/topic/2212/2212805.xml?temp=.8063776

解决方案 »

  1.   

    if (DataGrid1.Items.Count == 1 && DataGrid1.CurrentPageIndex > 0)
    DataGrid1.CurrentPageIndex--;
      

  2.   

    主要是因为绑定时你的查询页面索引超出了本次绑定时最大的页数,因此出错。
    解决办法是绑定前设置一下CurrentPageIndex=0;showdate.CurrentPageIndex=0;
    showdate.DataBind();
      

  3.   

    把顺序颠倒一下
    private void showdate_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    databind();
    showdate.CurrentPageIndex=e.NewPageIndex;
    }
      

  4.   

    int iMaxPage=datatable.Rows.Count/this.DataGrid1.PageSize;
    int i=datatable.Rows.Count%this.DataGrid1.PageSize;
    if(i!=0)
    {
    iMaxPage++;
    }
    if(iMaxPage-1<e.NewPageIndex)
    {
    this.DataGrid1.CurrentPageIndex=iMaxPage-1;
    }
    else
    {
    this.DataGrid1.CurrentPageIndex=e.NewPageIndex;
    }
    this.DataGrid1.DataSource=datatable;
    this.DataGrid1.DataBind();
      

  5.   

    初始化
    this.DataGrid1.CurrentPageIndex=0