想必我提的也不是什么新问题,也就不用做更多的描述了.
就是希望哪个高手能给出个好用的例子来,让小弟研究一下!!!                                                      感激不尽!

解决方案 »

  1.   

    用自带的datagrid控件就可以分页,下面的是昨天自定义的一个分页:dim pages as integer = 10         '每页显示的数量
    dim curpage as integer            '当前页号
    dim totals  as integer            '总页数'********************************************************分页处理  
      totals = cint(dsset.tables(0).rows.count / pages)
      if dsset.tables(0).rows.count mod pages > 0 and dsset.tables(0).rows.count > pages then
         totals = totals + 1
      end if
      if trim(request.QueryString("page")) = "" then
        curpage = 1
      else
        curpage = Convert.Toint16(trim(request.QueryString("page")))
      end if
      if curpage < 1 then
         curpage = 1
      end if
      if curpage > totals then
         curpage = totals
      end if
      label11.text = "&nbsp;" & dsset.tables(0).rows.count & "&nbsp;"
      label12.text = "&nbsp;" & pages & "&nbsp;"
      label13.text = "&nbsp;" & curpage & "/" & totals & "&nbsp;"
      label2.text = "<a href='index.aspx?page=1'><<</a>"
      label3.text = "&nbsp;<a href='index.aspx?page=" & curpage-1 & "'><</a>&nbsp;"
      label4.text = "&nbsp;<a href='index.aspx?page=" & int((curpage-1)/5)*5+1 & "'>" & int((curpage-1)/5)*5+1 & "</a>&nbsp;"
      label4.tooltip = "第" & int((curpage-1)/5)*5+1 & "页"
      label5.text = "&nbsp;<a href='index.aspx?page=" & int((curpage-1)/5)*5+2 & "'>" & int((curpage-1)/5)*5+2 & "</a>&nbsp;"
      label5.tooltip = "第" & int((curpage-1)/5)*5+2 & "页"
      label6.text = "&nbsp;<a href='index.aspx?page=" & int((curpage-1)/5)*5+3 & "'>" & int((curpage-1)/5)*5+3 & "</a>&nbsp;"
      label6.tooltip = "第" & int((curpage-1)/5)*5+3 & "页"
      label7.text = "&nbsp;<a href='index.aspx?page=" & int((curpage-1)/5)*5+4 & "'>" & int((curpage-1)/5)*5+4 & "</a>&nbsp;"
      label7.tooltip = "第" & int((curpage-1)/5)*5+4 & "页"
      label8.text = "&nbsp;<a href='index.aspx?page=" & int((curpage-1)/5)*5+5 & "'>" & int((curpage-1)/5)*5+5 & "</a>&nbsp;"
      label8.tooltip = "第" & int((curpage-1)/5)*5+5 & "页"
      label9.text = "&nbsp;<a href='index.aspx?page=" & curpage+1 & "'>></a>&nbsp;"
      label10.text = "<a href='index.aspx?page=" & totals & "'>>></a>"
      select case curpage mod 5
      case 1
        label4.backcolor=System.Drawing.ColorTranslator.FromHtml("#C1E996")
    label5.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label6.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label7.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label8.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
      case 2
        label5.backcolor=System.Drawing.ColorTranslator.FromHtml("#C1E996")
    label4.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label6.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label7.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label8.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
      case 3
        label6.backcolor=System.Drawing.ColorTranslator.FromHtml("#C1E996")
    label5.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label4.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label7.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label8.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
      case 4
        label7.backcolor=System.Drawing.ColorTranslator.FromHtml("#C1E996")
    label5.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label6.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label4.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label8.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
      case 0
        label8.backcolor=System.Drawing.ColorTranslator.FromHtml("#C1E996")
    label5.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label6.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label7.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
    label4.backcolor=System.Drawing.ColorTranslator.FromHtml("#ffffff")
      end select
    '********************************************************分页处理  dim lll as integer
      if pages*curpage-1 > dsset.tables(0).rows.count-1 then
         lll = dsset.tables(0).rows.count-1
      else
         lll = pages*curpage-1
      end if
      for x=pages*(curpage-1) to lll
      ……数据显示
      ……
      next
      

  2.   

    楼上的分页计算算法是错误的。没有考虑四舍五入的情况就错。
    下面是我一年前写的
            Public Function CutPage(ByVal int1 As Integer, ByVal int2 As Integer)
                Dim Totalpage As Integer '共有多少页
                If int1 / int2 <= 1 Then
                    Totalpage = 1
                ElseIf int1 / int2 > 1 And (int1 Mod int2) / int2 >= 0.5 Then '如果会被四舍五入的那就直接等于
                    Totalpage = int1 / int2
                ElseIf int1 / int2 > 1 And int1 Mod int2 = 0 Then '刚好除尽
                    Totalpage = int1 / int2
                ElseIf int1 / int2 > 1 And (int1 Mod int2) / int2 < 0.5 Then '如果不会被四舍五入的那就加一页
                    Totalpage = int1 / int2 + 1
                End If
                Return Totalpage '返回有多少页
            End Function
    现在用 /// <summary>
    /// 计算分页--进一法
    /// </summary>
    /// <param name="TotalNo">有N行数据</param>
    /// <param name="PageSize">每页显示N行</param>
    /// <returns>分页后有X页</returns>
    public static int CutPage(double TotalNo, double PageSize) 

    return (int)Math.Ceiling(TotalNo / PageSize); 
    }
      

  3.   

    长文章分页的功能很容易。再你要分页的地方插入一个标记。我喜欢用@next@然后用@next@来拆分这个文章成为数组。第一页就这个数组的第一个索引
    如果不懂,就看看我写的代码,里面的新闻模块有这个
    http://www.mytopwin.com/Soft/ShowSoft/14.html