none
本人菜鸟,想实现C#换页算法如何实现? RRS feed

  • 问题

  •    private int totalpage;//数据库返回值(总条数)
       private int paging_PageIndex = 1;//当前页
       private int paging_NoOfRecPerPage = 20;//每页显示多少条
    

    我又四个按钮:功能分别是向前一页、向后一页、最前页和最后页

        private void btnNext_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex < totalpage / paging_NoOfRecPerPage)
          {
            paging_PageIndex += 1;
            prame_sel();
          }
        }
    
        private void btnPrev_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex <= totalpage / paging_NoOfRecPerPage&&paging_PageIndex>1)
          {
            paging_PageIndex -= 1;
            prame_sel();
          }
        }
    
        private void btnFirst_Click(object sender, System.EventArgs e)
        {
    
            paging_PageIndex = 1;
            prame_sel();
    
        }
    
        private void btnLast_Click(object sender, System.EventArgs e)
        {
          paging_PageIndex = totalpage / paging_NoOfRecPerPage;
          prame_sel();
        }
    
    我这种方法存在问题。请高手指点。
    2011年4月20日 7:16

答案

  • int 50/20=2 ,其实应该有3页,你要判断50\20有不有余数


    http://feiyun0112.cnblogs.com/
    • 已标记为答案 Aspen VJ 2011年4月28日 7:16
    2011年4月20日 8:46
    版主
  •  

    totalpage / paging_NoOfRecPerPage定义成一个方法,计算页数。

    private void btnNext_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex < totalpage / paging_NoOfRecPerPage)
          {
            paging_PageIndex += 1;
            prame_sel();
          }
        }

        private void btnPrev_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex>1)
          {
            paging_PageIndex -= 1;
            prame_sel();
          }
        }

        private void btnFirst_Click(object sender, System.EventArgs e)
        {

            paging_PageIndex = 1;
            prame_sel();

        }

        private void btnLast_Click(object sender, System.EventArgs e)
        {
          paging_PageIndex = totalpage / paging_NoOfRecPerPage;
          prame_sel();
        }


    胡超

    • 已标记为答案 Aspen VJ 2011年4月28日 7:16
    2011年4月20日 11:10

全部回复

  • int 50/20=2 ,其实应该有3页,你要判断50\20有不有余数


    http://feiyun0112.cnblogs.com/
    • 已标记为答案 Aspen VJ 2011年4月28日 7:16
    2011年4月20日 8:46
    版主
  • 注意 totalpage / paging_NoOfRecPerPage 的值是double

     

    这就是你的问题所在


    Best Regards,
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    • 已编辑 Tim Tang 2011年4月20日 8:52 e
    2011年4月20日 8:52
  •  

    totalpage / paging_NoOfRecPerPage定义成一个方法,计算页数。

    private void btnNext_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex < totalpage / paging_NoOfRecPerPage)
          {
            paging_PageIndex += 1;
            prame_sel();
          }
        }

        private void btnPrev_Click(object sender, System.EventArgs e)
        {
          if (paging_PageIndex>1)
          {
            paging_PageIndex -= 1;
            prame_sel();
          }
        }

        private void btnFirst_Click(object sender, System.EventArgs e)
        {

            paging_PageIndex = 1;
            prame_sel();

        }

        private void btnLast_Click(object sender, System.EventArgs e)
        {
          paging_PageIndex = totalpage / paging_NoOfRecPerPage;
          prame_sel();
        }


    胡超

    • 已标记为答案 Aspen VJ 2011年4月28日 7:16
    2011年4月20日 11:10