自己用DataGridView做分页在点击下一页的时候选出新的一页的内容给DataGridView的DataSource 赋值
但是在DataGridView里面没有翻页而是把第二页的数据追加到第一页里面了.
而我想要的是替换原来第一页的数据
dgv 为DataGridView   sda为OledbDataadapter
private void Next_Click(object sender, EventArgs e)
{
            pageCount++;
            int page=pageCount* pageSize + 1;
            sda.Fill(ds, page, pageSize, "tmp");
            dtInfo = ds.Tables["tmp"];
            dgv.DataSource = dtInfo;}

解决方案 »

  1.   

    你用的ds应该是个全局变量,在点击下一页时,里面tmp表里的数据还在,
    sda.Fill前先将tmp表清空即可。
      

  2.   

         private void toolStripSeparator5_Click(object sender, EventArgs e)
            {
                //下一页
                DataSet dsInt = mysql_class.GetDs("select * from tb_yuangong");
                //DataSet dsInt = dbclass.GetDs("Select * from tb_员工");
                            
                int intCount = dsInt.Tables[0].Rows.Count; 
                int PageIndex = startIndex + pageSize;
                if (PageIndex > intCount)
                {
                    if (dsInt.Tables[0].Rows.Count / pageSize > 1)
                    {
                        int intPage = (dsInt.Tables[0].Rows.Count / pageSize - 1) * pageSize;
                        int LastIndex = intCount - intPage;
                        dgv_databing(LastIndex);
                    }
                    else
                    {
                        int intPage = (dsInt.Tables[0].Rows.Count / pageSize) * pageSize;
                        int LastIndex = intCount - intPage;
                        dgv_databing(LastIndex);
                    }
                }
                else
                {
                    dgv_databing(startIndex += pageSize);
                }
            }这是我下一页的代码, 用mysql的...也你mssql会有点一样,也有点不一样
      

  3.   

    http://www.cnblogs.com/hxling/archive/2008/04/22/1165980.html