数据库分页类.0.1(vb.net)

Public Class Pager

    Private Totalrs As Int32

    Private Pageline As Integer

    Private Cpage As Integer

    Private URLstring As String

 

    '*******************************************************************

    '总记录数

    WriteOnly Property Allrs() As Int32

        Set(ByVal Value As Int32)

            Totalrs = Value

        End Set

    End Property

 

    '*******************************************************************

    '每页大小

    WriteOnly Property Pagesize() As Integer

        Set(ByVal Value As Integer)

            Pageline = Value

        End Set

    End Property

 

    '*******************************************************************

    '当前页

    WriteOnly Property Currentpage() As Integer

        Set(ByVal Value As Integer)

            Cpage = Value

        End Set

    End Property

 

    '*******************************************************************

    '计算当前完整URL

    Friend Sub Geturl(ByVal Request As HttpRequest)

 

        Dim i As String

        Dim URL As New System.Text.StringBuilder

 

        If LCase(Request.ServerVariables("HTTPS")) = "off" Then

            URL.Append("http://")

        Else

            URL.Append("https://")

        End If

 

        URL.Append(Request.ServerVariables("SERVER_NAME"))

 

        If CInt(Request.ServerVariables("SERVER_PORT")) <> 80 Then

            URL.Append(":" & Request.ServerVariables("SERVER_PORT"))

        End If

 

        URL.Append(Request.ServerVariables("URL"))

 

        If Request.QueryString.Count > 0 Then

            URL.Append("?")

            For Each i In Request.QueryString

                URL.Append(i & "=")

                URL.Append(Request.QueryString(i) & "&")

            Next

        End If

 

        URL.Replace("page=" & Request.QueryString("page") & "", "")

 

        If Request.QueryString.Count = 0 Then

            URL.Append("?")

        End If

 

        If Right(URL.ToString, 1) = "&" Then

            URL.Remove(URL.Length - 1, 1)

        End If

 

        If Request.QueryString("page") = "" Then

            URL.Append("&")

        End If

        URLstring = URL.ToString

 

        URL = Nothing

    End Sub

 

    '*******************************************************************

    '生成页码

    Friend Function Pageindex() As String

        Dim Startpage As Integer = Cpage - 5

        Dim Endpage As Integer = Cpage + 5

        Dim Pagecount As Integer = CInt(Totalrs / Pageline)

        Dim Pagestring As New System.Text.StringBuilder

        Dim i As Integer

 

        If Cpage = 0 Then Cpage = 1

 

        If Cpage <= 5 And Pagecount >= 9 Then

            Startpage = 1

            Endpage = 9

        End If

 

        If Pagecount - Cpage <= 5 And Pagecount >= 9 Then

            Startpage = Pagecount - 9

            Endpage = Pagecount

        End If

 

        If Pagecount < 9 Then

            Startpage = 1

            Endpage = Pagecount

        End If

 

        Pagestring.Append("<b>总记录数:</b>" & Totalrs & " - <b>当前页:</b>" & Cpage & "/" & Pagecount & " - <b>页码:</b> <a href=""" & URLstring & "page=1"">首页</a> [")

 

        For i = Startpage To Endpage

            Pagestring.Append("&nbsp;<a href=""" & URLstring & "page=" & i & """>" & i & "</a>&nbsp;")

        Next

 

        Pagestring.Append("] <a href=""" & URLstring & "page=" & Pagecount & """>尾页</a>")

        Return Pagestring.ToString

    End Function

End Class  

 

用法:

 

Dim Con As HttpContext = HttpContext.Current

 

        CurrentPage = CInt(Request.QueryString("page"))
        If CurrentPage = 0 Then CurrentPage = 1
        RSlist.DataSource = CreateDS()
        RSlist.DataBind()

 

        Tpage.Allrs = Allrs

        Tpage.Pagesize = 20

        Tpage.Currentpage = CurrentPage

        Tpage.Geturl(Con.Request)

        Thepage.Text = Tpage.Pageindex

        Tpage = Nothing

 

 

用时和 数据库操作类,还有 翻页存储过程结合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值