日期:2014-05-18  浏览次数:21179 次

Datagridview分页时,点击下一页的问题
实现了Datagridview分页的功能,但是有Bug,就是点击下一页的时候, 不能按照顺序显示, 就是说第一页显示10条,Id从1-10,那么第二页就应该从11—21, 但我的程序是第二页从2-11,第一页的数据重复了, 很苦恼。
代码如下:
 /// <summary>
  /// 分页方法
  /// </summary>
  MessageInfoWebService.MessageInfo[] list;
  private void SetPage(int curNo) {
  tssLblCount.Text = "共" + recordCount + "条数据";
  int rowStart = (curNo - 1) * pageSize + 1;//每页开始的第1条记录
  list = messageInfoWebService.GetMessageInfoByCondition(condition + " group by Mess_ID" + " LIMIT " + (curNo - 1) + ",10");//查询数据
  dgvMessageInfoList.DataSource = list;//绑定dgv
  lbCur.Text = curNo.ToString();
  btnFirst.Enabled = true;
  btnPre.Enabled = true;
  btnNext.Enabled = true;
  btnLast.Enabled = true;
  if (curNo == 1)//如果已经第一页,首页和上一页按钮不可用
  {
  btnFirst.Enabled = false;
  btnPre.Enabled = false;
  }
  if (curNo == pageNo) {
  btnLast.Enabled = false;
  btnNext.Enabled = false;
  }
  }

//下一页按钮事件
 private void btnNext_Click(object sender, EventArgs e) {

  if (curPageNo >= pageNo) {
  return;
  }
  else {
  curPageNo++;
  SetPage(curPageNo);
  }
  }


请问什么原因? 谢谢了

------解决方案--------------------
int rowStart = (curNo - 1) * pageSize + 1;//每页开始的第1条记录
list = messageInfoWebService.GetMessageInfoByCondition(condition + " group by Mess_ID" + " LIMIT " + (curNo - 1) + ",10");//查询数据
是不是应该改成rowStart