咋回事?

解决方案 »

  1.   

    DataGrid? 试试不判断page_Load里的ispostback.
      

  2.   

    只这一句看不出什么问题你先跟一下DataGrid,看看pagecount等值吧
      

  3.   

    是不是在删除的时候出现这个问题.判断一下就行了.
    if (dataGrid1.CurrentPageIndex ==  dataGrid1.PageCount -1)
    {
       dataGrid1.CurrentPageIndex =  dataGrid1.PageCount -1;
       dataGrid1.DataBind();
    }
      

  4.   

    这只是用DATAGRID里的内置分页而已,
    datagrid.currentindexpage = e.newpageindex;
    datagrid.bindgrid();load()
    {
      if(!Page.ispostback()
      {
            bindgrid();
      }
    }
    就是这样而已如果不在LOAD里判断,那每次加载速度就慢很多了。
      

  5.   

    出現這種情況,通常是你選擇了查看第三頁,然後你查詢了一次
    此次查詢條件獲取的記錄只有兩頁
    所以執行 this.DataGrid1.DataBind();就報錯解決方法,在執行綁定前,將當前頁復位
     this.DataGrid1.CurrentPageIndex =0;
     this.DataGrid1.DataBind();
      

  6.   

    private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    this.DataGrid1.CurrentPageIndex = e.NewPageIndex;
    BindGrid();
    } public void BindGrid()
    {
    SqlDataAdapter mySqlCom = new SqlDataAdapter("select * from QQMessage",sqlCon); DataSet myds = new DataSet();
    mySqlCom.Fill(myds,"QQMessage"); this.DataGrid1.DataSource = myds.Tables["QQMessage"].DefaultView;
    this.DataGrid1.DataBind();
    this.DataGrid1.DataKeyField = "id";
    }
      

  7.   


    if(dg.Items.Count%dg.PageSize == 1&&dg.CurrentPageIndex>=1)
         dg.CurrentPageIndex -= 1;
      

  8.   

    我也把我的代碼貼出來/// <summary>
    /// 解決刪除記錄後 DataGrid 分頁溢出的問題
    /// </summary>
    /// <param name="dg">DataGrid 控件</param>
    /// <param name="i">刪除的數目</param>
    public static void PageOverFlow(DataGrid dg,int i)
    {
      if(dg.CurrentPageIndex!=0 && dg.CurrentPageIndex==dg.PageCount-1 && dg.Items.Count==i)
      {
    dg.CurrentPageIndex -- ;
      }
    }
      

  9.   

    再用内置分页的时候 ,如果删除该页随后一条记录,应该先做判断:
    if(this.DataGrid1.Items.Count==1)
    {
    if(this.DataGrid1.CurrentPageIndex!=0)
    {
    this.DataGrid1.CurrentPageIndex=this.DataGrid1.CurrentPageIndex-1;
    }
    }
      

  10.   

    出現這種情況,通常是你選擇了查看第三頁,然後你查詢了一次
    此次查詢條件獲取的記錄只有兩頁
    所以執行 this.DataGrid1.DataBind();就報錯解決方法,在執行綁定前,將當前頁復位
     this.DataGrid1.CurrentPageIndex =0;
     this.DataGrid1.DataBind();完全同意
      

  11.   

    http://singlepine.cnblogs.com/articles/281425.html
      

  12.   

    this.DataGrid1.DataSource = ds;  if((DataGrid1.CurrentPageIndex==DataGrid1.PageCount-1)&&DataGrid1.Items.Count==1) 

    if(DataGrid1.CurrentPageIndex-1>=1) 

    DataGrid1.CurrentPageIndex = DataGrid1.CurrentPageIndex-1; 

    else 

    DataGrid1.CurrentPageIndex = 0; 

                 

    this.DataGrid1.DataBind();
      

  13.   

    cityhunter172(寒羽枫)的答案正解,巳经测试。感谢