企业级VB分页控件

机房系统(四)——【分页控件SSTab】     在机房结账窗体中,有一个选项卡控件SSTab。这个控件是需要从VB外部控件添加之后才可以使用的。 阅读详情

 Imports System

Imports System.Collections

Imports System.Collections.Generic

Imports System.ComponentModel

Imports System.Text

Imports System.Web

Imports System.Web.UI

Imports System.Web.UI.WebControls

 

Namespace Common.Tools.Controls

<ToolboxData("<{0}:PagerBar runat='server'></{0}:PagerBar>")> _

Public Class clsPaging

Inherits Control

Implements INamingContainer

 

<Category("Navigation")> _

<DefaultValue("CurrentPage")> _

Public Property PageParamName() As String

Get

Return IIf(ViewState("PageParamName") Is Nothing, "CurrentPage", ViewState("PageParamName"))

End Get

Set(ByVal value As String)

ViewState("PageParamName") = value

End Set

End Property

<Category("Data")> _

<Browsable(False)> _

Public Property CurrentPage() As Integer

Get

If (ViewState("CurrentPage") Is Nothing) Then

Dim viCurrentPage As Integer

If (Int32.TryParse(HttpContext.Current.Request.QueryString(Me.PageParamName), viCurrentPage)) Then

ViewState("CurrentPage") = viCurrentPage

Else

ViewState("CurrentPage") = 1

End If

End If

Return Int32.Parse(ViewState("CurrentPage"))

End Get

Set(ByVal value As Integer)

ViewState("CurrentPage") = value

End Set

End Property

<Category("Data")> _

<DefaultValue(10)> _

Public Property DispPageSize() As Integer

Get

Return IIf(ViewState("DispPageSize") Is Nothing, 10, ViewState("DispPageSize"))

End Get

Set(ByVal value As Integer)

ViewState("DispPageSize") = value

End Set

End Property

<Category("Data")> _

<DefaultValue(10)> _

Public Property PageSize() As Integer

Get

Dim viPageSize As Integer = IIf(ViewState("PageSize") Is Nothing, 10, ViewState("PageSize"))

Return IIf(viPageSize > 0, viPageSize, 0)

End Get

Set(ByVal value As Integer)

ViewState("PageSize") = value

End Set

End Property

<Category("Data")> _

<Browsable(False)> _

Public Property RecordCount() As Integer

Get

Return IIf(ViewState("RecordCount") Is Nothing, 0, ViewState("RecordCount"))

End Get

Set(ByVal value As Integer)

ViewState("RecordCount") = value

End Set

End Property

<Browsable(False)> _

Public ReadOnly Property PageCount() As Integer

Get

Return Int32.Parse(Math.Ceiling(Double.Parse(Me.RecordCount / Me.PageSize)))

End Get

End Property

 

<Category("Data")> _

<DefaultValue("Page:")> _

Public Property HeaderText() As String

Get

Return IIf(ViewState("HeaderText") Is Nothing, "Page:", ViewState("HeaderText"))

End Get

Set(ByVal value As String)

ViewState("HeaderText") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue(False)> _

 Public Property HeaderTextVisible() As Boolean

Get

Return IIf(ViewState("HeaderTextVisible") Is Nothing, False, ViewState("HeaderTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("HeaderTextVisible") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue("First")> _

Public Property FirstPageText() As String

Get

Return IIf(ViewState("FirstPageText") Is Nothing, "First", ViewState("FirstPageText"))

End Get

Set(ByVal value As String)

ViewState("FirstPageText") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue(False)> _

 Public Property FirstPageTextVisible() As Boolean

Get

Return IIf(ViewState("FirstPageTextVisible") Is Nothing, False, ViewState("FirstPageTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("FirstPageTextVisible") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue("Previous")> _

Public Property PrePageText() As String

Get

Return IIf(ViewState("PrePageText") Is Nothing, "Previous", ViewState("PrePageText"))

End Get

Set(ByVal value As String)

ViewState("PrePageText") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue(False)> _

 Public Property PrePageTextVisible() As Boolean

Get

Return IIf(ViewState("PrePageTextVisible") Is Nothing, False, ViewState("PrePageTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("PrePageTextVisible") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue("Next")> _

Public Property NextPageText() As String

Get

Return IIf(ViewState("NextPageText") Is Nothing, "Next", ViewState("NextPageText"))

End Get

Set(ByVal value As String)

ViewState("NextPageText") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue(False)> _

 Public Property NextPageTextVisible() As Boolean

Get

Return IIf(ViewState("NextPageTextVisible") Is Nothing, False, ViewState("NextPageTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("NextPageTextVisible") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue("Last")> _

 Public Property LastPageText() As String

Get

Return IIf(ViewState("LastPageText") Is Nothing, "Last", ViewState("LastPageText"))

End Get

Set(ByVal value As String)

ViewState("LastPageText") = value

End Set

End Property

<Category("Navigation")> _

 <DefaultValue(False)> _

Public Property LastPageTextVisible() As Boolean

Get

Return IIf(ViewState("LastPageTextVisible") Is Nothing, False, ViewState("LastPageTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("LastPageTextVisible") = value

End Set

End Property

 

<Category("Navigation")> _

<DefaultValue("...")> _

Public Property PrePageDotText() As String

Get

Return IIf(ViewState("PrePageDotText") Is Nothing, "...", ViewState("PrePageDotText"))

End Get

Set(ByVal value As String)

ViewState("PrePageDotText") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue(False)> _

Public Property PrePageDotTextVisible() As Boolean

Get

Return IIf(ViewState("PrePageDotTextVisible") Is Nothing, False, ViewState("PrePageDotTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("PrePageDotTextVisible") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue("...")> _

Public Property NextPageDotText() As String

Get

Return IIf(ViewState("NextPageDotText") Is Nothing, "...", ViewState("NextPageDotText"))

End Get

Set(ByVal value As String)

ViewState("NextPageDotText") = value

End Set

End Property

<Category("Navigation")> _

<DefaultValue(False)> _

Public Property NextPageDotTextVisible() As Boolean

Get

Return IIf(ViewState("NextPageDotTextVisible") Is Nothing, False, ViewState("NextPageDotTextVisible"))

End Get

Set(ByVal value As Boolean)

ViewState("NextPageDotTextVisible") = value

End Set

End Property

' <Category("Layout")> _

' Public Property Width() As Unit

'     Get

'         Return IIf(ViewState("Width") Is Nothing, Unit.Percentage(100), ViewState("Width"))

'     End Get

'     Set(ByVal value As Unit)

'         ViewState("Width") = value

'     End Set

' End Property

' <Category("Layout")> _

'Public Property Height() As Unit

'     Get

'         Return IIf(ViewState("Height") Is Nothing, Unit.Pixel(120), ViewState("Height"))

'     End Get

'     Set(ByVal value As Unit)

'         ViewState("Height") = value

'     End Set

' End Property

<Category("Layout")> _

<DefaultValue(0)> _

Public Property CellPadding() As Int32

Get

Return IIf(ViewState("CellPadding") Is Nothing, 0, ViewState("CellPadding"))

End Get

Set(ByVal value As Int32)

ViewState("CellPadding") = value

End Set

End Property

<Category("Layout")> _

<DefaultValue(0)> _

Public Property CellSpacing() As Int32

Get

Return IIf(ViewState("CellSpacing") Is Nothing, 0, ViewState("CellSpacing"))

End Get

Set(ByVal value As Int32)

ViewState("CellSpacing") = value

End Set

End Property

 

<Category("Appearance")> _

Public Property TableCssClass() As String

Get

Return IIf(ViewState("TableCssClass") Is Nothing, "", ViewState("TableCssClass"))

End Get

Set(ByVal value As String)

ViewState("TableCssClass") = value

End Set

End Property

<Category("Appearance")> _

Public Property HeaderCellCssClass() As String

Get

Return IIf(ViewState("HeaderCellCssClass") Is Nothing, "", ViewState("HeaderCellCssClass"))

End Get

Set(ByVal value As String)

ViewState("HeaderCellCssClass") = value

End Set

End Property

<Category("Appearance")> _

Public Property TableCellCssClass() As String

Get

Return IIf(ViewState("TableCellCssClass") Is Nothing, "", ViewState("TableCellCssClass"))

End Get

Set(ByVal value As String)

ViewState("TableCellCssClass") = value

End Set

End Property

        <Category("Appearance")> _

        Public Property PagerCellOverCssClass() As Object

            Get

                Return IIf(ViewState("PagerCellOverCssClass") Is Nothing, "", ViewState("PagerCellOverCssClass"))

            End Get

            Set(ByVal value As Object)

                ViewState("PagerCellOverCssClass") = value

            End Set

        End Property

<Category("Appearance")> _

Public Property PagerCssClass() As String

Get

Return IIf(ViewState("PagerCssClass") Is Nothing, "", ViewState("PagerCssClass"))

End Get

Set(ByVal value As String)

ViewState("PagerCssClass") = value

End Set

End Property

<Category("Appearance")> _

Public Property PagerBarCssClass() As String

Get

Return IIf(ViewState("PagerBarCssClass") Is Nothing, "", ViewState("PagerBarCssClass"))

End Get

Set(ByVal value As String)

ViewState("PagerBarCssClass") = value

End Set

End Property

 

Private Function GetPagerUrl() As String

Dim sbUrl As StringBuilder = New StringBuilder(HttpContext.Current.Request.Path)

sbUrl.Append("?")

Dim query As NameValueCollection = HttpContext.Current.Request.QueryString

For i As Integer = 0 To query.Count - 1

If (query.GetKey(i) <> Me.PageParamName) Then

sbUrl.Append(query.GetKey(i))

sbUrl.Append("=")

sbUrl.Append(HttpContext.Current.Server.UrlEncode(query.Get(i)))

sbUrl.Append("&")

End If

Next

sbUrl.Append(Me.PageParamName)

sbUrl.Append("=")

Return sbUrl.ToString()

End Function

Public Class clsLinkInfo

Private vsKey As String

Private vsLink As String

Private vsCssClass As String

Sub New(ByVal _vsKey As String, ByVal _vsLink As String, ByVal _vsCssClass As String)

vsKey = _vsKey

vsLink = _vsLink

vsCssClass = _vsCssClass

End Sub

Public ReadOnly Property prsKey() As String

Get

Return vsKey

End Get

End Property

Public ReadOnly Property prsLink() As String

Get

Return vsLink

End Get

End Property

Public ReadOnly Property prsCssClass() As String

Get

Return vsCssClass

End Get

End Property

End Class

Public Function GetPagerLinks() As List(Of clsLinkInfo)

Dim i As Integer

Dim links As List(Of clsLinkInfo) = New List(Of clsLinkInfo)

links.Clear()

Dim prePage As Integer = 1

Dim nextPage As Integer = 1

If (Me.RecordCount > 0) Then

Dim pagerURl As String = Me.GetPagerUrl()

prePage = IIf(Me.CurrentPage > 1, Me.CurrentPage - 1, 1)

nextPage = IIf(Me.CurrentPage + 1 > Me.PageCount, Me.PageCount, CurrentPage + 1)

If PageCount = 1 Then

links.Add(New clsLinkInfo("1", "1", TableCellCssClass))

Else

If PageCount <= DispPageSize Then

If CurrentPage = 1 Then

For i = 1 To PageCount

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

If NextPageTextVisible Then

links.Add(New clsLinkInfo(NextPageText, nextPage.ToString(), PagerBarCssClass))

End If

If LastPageTextVisible Then

links.Add(New clsLinkInfo(LastPageText, PageCount.ToString(), PagerBarCssClass))

End If

ElseIf CurrentPage = PageCount Then

If FirstPageTextVisible Then

links.Add(New clsLinkInfo(FirstPageText, "1", PagerBarCssClass))

End If

If PrePageTextVisible Then

links.Add(New clsLinkInfo(PrePageText, prePage.ToString(), PagerBarCssClass))

End If

For i = 1 To PageCount

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

Else

If FirstPageTextVisible Then

links.Add(New clsLinkInfo(FirstPageText, "1", TableCellCssClass))

End If

If PrePageTextVisible Then

links.Add(New clsLinkInfo(PrePageText, prePage.ToString(), PagerBarCssClass))

End If

 

For i = 1 To PageCount

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

 

If NextPageTextVisible Then

links.Add(New clsLinkInfo(NextPageText, nextPage.ToString(), PagerBarCssClass))

End If

If LastPageTextVisible Then

links.Add(New clsLinkInfo(LastPageText, PageCount.ToString(), PagerBarCssClass))

End If

End If

Else

If CurrentPage = 1 Then

For i = 1 To DispPageSize

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

 

If NextPageTextVisible Then

links.Add(New clsLinkInfo(NextPageText, nextPage.ToString(), PagerBarCssClass))

End If

 

'dot

If NextPageDotTextVisible And (CurrentPage + DispPageSize) < PageCount Then

links.Add(New clsLinkInfo(NextPageDotText, priNextPageDotValue.ToString(), TableCellCssClass))

End If

 

 

If LastPageTextVisible Then

links.Add(New clsLinkInfo(LastPageText, PageCount.ToString(), PagerBarCssClass))

End If

ElseIf CurrentPage = PageCount Then

If FirstPageTextVisible Then

links.Add(New clsLinkInfo(FirstPageText, "1", PagerBarCssClass))

End If

 

'dot

If PrePageDotTextVisible And CurrentPage - DispPageSize > 0 Then

links.Add(New clsLinkInfo(PrePageDotText, priPrePageDotValue.ToString(), TableCellCssClass))

End If

 

If PrePageTextVisible Then

links.Add(New clsLinkInfo(PrePageText, prePage.ToString(), PagerBarCssClass))

End If

 

 

For i = PageCount - DispPageSize To PageCount

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

ElseIf CurrentPage < DispPageSize Then

If PrePageTextVisible Then

links.Add(New clsLinkInfo(PrePageText, prePage.ToString(), PagerBarCssClass))

End If

For i = 1 To DispPageSize

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

 

 

If NextPageTextVisible Then

links.Add(New clsLinkInfo(NextPageText, nextPage.ToString(), PagerBarCssClass))

End If

 

 

'dot

If NextPageDotTextVisible Then

links.Add(New clsLinkInfo(NextPageDotText, priNextPageDotValue.ToString(), TableCellCssClass))

End If

 

If LastPageTextVisible Then

links.Add(New clsLinkInfo(LastPageText, PageCount.ToString(), PagerBarCssClass))

End If

Else

Dim viStepSize As Integer = Math.Floor(Double.Parse(DispPageSize / 2))

 

If FirstPageTextVisible Then

links.Add(New clsLinkInfo(FirstPageText, "1", PagerBarCssClass))

End If

 

'dot

If PrePageDotTextVisible And (CurrentPage - DispPageSize) >= 0 Then

links.Add(New clsLinkInfo(PrePageDotText, priPrePageDotValue.ToString(), TableCellCssClass))

End If

 

If PrePageTextVisible Then

links.Add(New clsLinkInfo(PrePageText, prePage.ToString(), PagerBarCssClass))

End If

 

 

If CurrentPage < DispPageSize Then

For i = 1 To DispPageSize

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

Else

If CurrentPage + viStepSize > PageCount Then

If CurrentPage - DispPageSize >= 0 Then

For i = PageCount - DispPageSize To PageCount

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

End If

Else

For i = CurrentPage - viStepSize To CurrentPage + viStepSize

links.Add(New clsLinkInfo(i.ToString(), i.ToString(), TableCellCssClass))

Next

End If

End If

 

 

 

If NextPageTextVisible Then

links.Add(New clsLinkInfo(NextPageText, nextPage.ToString(), PagerBarCssClass))

End If

 

'dot

If NextPageDotTextVisible And (CurrentPage + viStepSize) < PageCount Then

links.Add(New clsLinkInfo(NextPageDotText, priNextPageDotValue.ToString(), TableCellCssClass))

End If

 

 

If LastPageTextVisible Then

links.Add(New clsLinkInfo(LastPageText, PageCount.ToString(), PagerBarCssClass))

End If

End If

End If

End If

Return links

Else

Me.CurrentPage = 0

End If

Return links

End Function

Private ReadOnly Property priPrePageDotValue() As Integer

Get

Return IIf((CurrentPage - DispPageSize) <= 1, 1, CurrentPage - DispPageSize)

End Get

End Property

Private ReadOnly Property priNextPageDotValue() As Integer

Get

Return IIf((CurrentPage + DispPageSize) >= PageCount, PageCount, CurrentPage + DispPageSize)

End Get

End Property

'Private Sub GetHTML(ByVal writer As HtmlTextWriter)

'    Dim links As List(Of clsLinkInfo) = Me.GetPagerLinks()

'    If links.Count > 0 Then

'        writer.WriteBeginTag("table")

'        'writer.WriteAttribute("width", Width.ToString())

'        'writer.WriteAttribute("height", Height.ToString())

'        writer.WriteAttribute("cellpadding", CellPadding.ToString())

'        writer.WriteAttribute("cellspacing", CellSpacing.ToString())

'        writer.WriteAttribute("class", TableCssClass)

'        writer.Write(HtmlTextWriter.TagRightChar)

'        writer.WriteFullBeginTag("tr")

'        writer.WriteBeginTag("td")

'        writer.WriteAttribute("class", Me.HeaderCellCssClass)

'        writer.Write(HtmlTextWriter.TagRightChar)

'        writer.Write(HeaderText)

'        writer.WriteEndTag("td")

 

'        For i As Integer = 0 To links.Count - 1

'            Dim voLinkInfo As clsLinkInfo = links(i)

'            If voLinkInfo.prsKey <> CurrentPage.ToString() Then

'                writer.WriteBeginTag("td")

'                writer.WriteAttribute("class", Me.TableCellCssClass)

'                writer.Write(HtmlTextWriter.TagRightChar)

'                writer.WriteBeginTag("a")

'                writer.WriteAttribute(HtmlTextWriterAttribute.Onclick, Page.ClientScript.GetPostBackEventReference(Me, voLinkInfo.prsLink))

'                writer.Write(HtmlTextWriter.TagRightChar)

'                writer.Write(voLinkInfo.prsKey)

'                writer.WriteEndTag("a")

'                writer.WriteEndTag("td")

'            Else

'                writer.WriteBeginTag("td")

'                writer.WriteAttribute("class", Me.PagerCssClass)

'                writer.Write(HtmlTextWriter.TagRightChar)

'                writer.Write(voLinkInfo.prsKey)

'                writer.WriteEndTag("td")

'            End If

'        Next

'        writer.WriteEndTag("td")

'        writer.WriteEndTag("tr")

'        writer.WriteEndTag("table")

'    End If

'End Sub

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

'Me.GetHTML(writer)

MyBase.Render(writer)

End Sub

Protected Overrides Sub CreateChildControls()

Controls.Clear()

Dim links As List(Of clsLinkInfo) = Me.GetPagerLinks()

 

If links.Count > 0 Then

Dim tb As Table = New Table()

tb.ID = Me.ID + "_Table"

tb.Attributes.Add("cellspacing", CellSpacing.ToString())

tb.Attributes.Add("cellpadding", CellPadding.ToString())

tb.Attributes.Add("class", TableCssClass)

 

Dim tr As TableRow = New TableRow()

 

Dim tc As TableCell = New TableCell()

 

If HeaderTextVisible Then

tc.Attributes.Add("class", HeaderCellCssClass)

tc.Controls.Add(New LiteralControl(HeaderText))

tr.Controls.Add(tc)

End If

 

For i As Integer = 0 To links.Count - 1

Dim voLinkInfo As clsLinkInfo = links(i)

tc = New TableCell()

If voLinkInfo.prsKey <> CurrentPage.ToString() Then

tc.Attributes.Add("class", voLinkInfo.prsCssClass)

Dim PageLink As LinkButton = New LinkButton()

PageLink.Text = voLinkInfo.prsKey

PageLink.CommandArgument = voLinkInfo.prsLink

AddHandler PageLink.Click, AddressOf PageLink_Click

tc.Controls.Add(PageLink)

Else

tc.Attributes.Add("class", PagerCssClass)

tc.Controls.Add(New LiteralControl(voLinkInfo.prsKey))

End If

tr.Controls.Add(tc)

Next

tb.Controls.Add(tr)

Me.Controls.Add(tb)

End If

End Sub

'Protected Overrides Sub RenderChildren(ByVal writer As System.Web.UI.HtmlTextWriter)

'    writer.Write("PageBar Control<" + Me.ID + ">")

'End Sub

Public Event PageIndexChanged As EventHandler

Private Sub OnPageIndexChanged(ByVal e As EventArgs)

RaiseEvent PageIndexChanged(Me, e)

End Sub

Private Sub PageLink_Click(ByVal Sender As Object, ByVal e As EventArgs)

Dim PageLink As LinkButton = CType(Sender, LinkButton)

Dim viCurrentPage As Integer = Convert.ToInt32(PageLink.CommandArgument)

Me.CurrentPage = viCurrentPage

CreateChildControls()

OnPageIndexChanged(EventArgs.Empty)

End Sub

End Class

End Namespace

 

 

 

 

<tools:clsPaging ID="ucPagerBar" runat="server" HeaderCellCssClass="PagerHeader"

                            PagerCssClass="PagerCurrTableCell" PagerBarCssClass="PagerBar" TableCellCssClass="PagerTableCell"

                            TableCssClass="PagerTable" PageSize="10" DispPageSize="15" NextPageText=">"

                            PrePageText="<" NextPageTextVisible="True" PrePageTextVisible="True" NextPageDotTextVisible="True"

                            PrePageDotTextVisible="True" FirstPageText="|<" FirstPageTextVisible="True" LastPageText=">|"

                            LastPageTextVisible="True" NextPageDotText=">>" PrePageDotText="<<">

            </tools:clsPaging>

 

 

 

 

 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then

            sbBindData()

        End If

    End Sub

    Protected Sub sbBindData()

        Dim odtSelectMercSendMail As New dsSelectMercSendMail.sp_SelectMercSendMailDataTable

        Dim otaSelectMercSendMail As New dsSelectMercSendMailTableAdapters.sp_SelectMercSendMailTableAdapter

        Dim viCurrentPage As Integer

        If ucPagerBar.CurrentPage = 0 Then

            viCurrentPage = 1

        Else

            viCurrentPage = ucPagerBar.CurrentPage

        End If

        Dim viPageSize As Integer = ucPagerBar.PageSize

 

        Dim viRecordCount As Integer

        Dim vsSortField As String = "Email"

        Dim vsSortType As String = "ASC"

        Dim vsSearchUserName As String = Nothing

        Dim vsSearchEmail As String = Nothing

        Dim viIsActive As String = Nothing

        Dim viIsLocked As String = Nothing

        Dim vdtStartTime As Nullable(Of DateTime) = Nothing

        Dim vdtEndTime As Nullable(Of DateTime) = Nothing

 

        Select Case optlstActive.SelectedIndex

            Case 1

                viIsActive = "1"

            Case 2

                viIsActive = "0"

            Case Else

                viIsActive = Nothing

        End Select

 

        Select Case optlstLock.SelectedIndex

            Case 1

                viIsLocked = "1"

            Case 2

                viIsLocked = "0"

            Case Else

                viIsLocked = Nothing

        End Select

 

        If txtDateStart.Text.ToString() <> "" Then

            vdtStartTime = txtDateStart.Text.ToString()

            If txtDateEnd.Text.ToString() <> "" Then

                vdtEndTime = txtDateEnd.Text.ToString()

            End If

        End If

 

        If txtKeyword.Text.ToString() <> "" Then

            If drplstSearchType.SelectedIndex = 0 Then

                vsSearchUserName = txtKeyword.Text.ToString()

            Else

                vsSearchEmail = txtKeyword.Text.ToString()

            End If

        End If

 

        odtSelectMercSendMail = otaSelectMercSendMail.fndtGetAllMerchant(viIsActive, viIsLocked, vsSearchUserName, vsSearchEmail, vdtStartTime, vdtEndTime, viCurrentPage, viPageSize, vsSortField, vsSortType, viRecordCount)

        Me.dlMerc.DataSource = odtSelectMercSendMail

        dlMerc.DataBind()

        ucPagerBar.RecordCount = viRecordCount

    End Sub

    Protected Sub ucPagerBar_PageIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ucPagerBar.PageIndexChanged

        ucPagerBar.CurrentPage = CType(sender, Common.Tools.Controls.clsPaging).CurrentPage

        sbBindData()

    End Sub

VB对GridView的一些操作  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load        If Not IsPostBack Then            binddata()        End If     End Sub     Public Sub 阅读详情

相关推荐

VB ListView控件的数据分页实现方法

分页是一种在数据量大到不能一次性加载到内存中展示时的处理方式,它允许用户通过分隔数据来逐步查看。分页可以提高应用程序的性能,同时提升用户体验。分页机制在Web应用和移动应用中尤为常见,特别是在社交媒体、搜索引擎结果页面以及电子商务网站。分页的应用场景涵盖了从简单列表到复杂数据的展示,例如,一个用于显示用户评论列表的系统,或一个需要展示大量搜索结果的查询接口。通过使用分页,应用程序可以高效地管理内存,减少不必要的数据传输,以及提供更好的用户交互体验。

weixin_31860973的博客 378

VB.Net程序设计:分页控件

参考网络上大牛的文章,特别感谢伍华聪,分享了许多分页的文章。 无论什么类型的数据库,数据量大了就需要分页,数据量大了,就要考虑分页的效率等。效率在此不做分析。 分页控件支持不同类型数据库如:MS SQLServer MySQL SQLite Access等,只要有分页SQL语句,即可根据vb.net教程分页信息,取出相应的数据内容,再将数据内容绑定或者加工显示到UI上。 分页控件需要做的事: 显示页面信息。 可以随意跳转到指定的页。 根据页面信息返回具体的SQL分页语句。 返回取出的数据内容。 分页控件

chinaherolts2008的博客 857

构建电子商务网站的ASP.NET开发实践

自2002年首次发布以来,ASP.NET作为微软.NET框架的一部分,已经成为企业级Web应用程序开发的基石之一。它的进化不仅反映了微软对Web技术的持续投资,也标志着开发者社区在Web开发实践上的成熟。用户控件(User Controls)是ASP.NET框架中一种重用代码的机制,允许开发者将可复用的页面片段封装为控件,以便在多个页面中使用。用户控件可以包含HTML标记、服务器控件、逻辑代码和事件处理程序,它通常被封装在一个.ascx文件中。

weixin_42602241的博客 992

让DataGridView控件里的记录分页显示。

 在使用DataGridView显示来自DataTable的记录时,如果DataTable里的记录太多(上百条),那么用DataGridView查看记录就很不方便,如果能让DataGridView分页显示,每页只显示10条(可以随意规定每页显示的条数),并且配以页面之间的跳转按钮,岂不是方面了许多?现在就来说说我是怎么做到的吧。我自己编写了一个类用于辅助DataGridView控件的记录分页显

zjysource的专栏 6300

VB6中使用ADO控件实现数据库分页显示的完整示例

Visual Basic 6.0作为经典的快速应用开发工具,凭借其可视化界面设计和强大的组件支持,在企业级数据库应用开发中曾占据重要地位。其中,ADO(ActiveX Data Objects)控件作为数据访问的核心技术之一,为开发者提供了简洁高效的数据库操作接口。本章将系统介绍VB6平台下ADO控件的基本概念、技术架构及其在桌面数据库应用中的典型角色。' 示例:使用ADODC控件连接Access数据库的典型连接字符串" & _" & _如上代码所示,通过Provider和。

weixin_30923011的博客 1062

(VB.NET)WinForm自定义DataGridView分页组合控件

本资源在VS2015环境下通过自定义窗体库组合VB.NET已有控件实现DataGridView控件分页显示功能。

VBA-将数据分页显示(listview)

1.首先我们来看一下分页显示的效果 2.要想作出分页的效果,必须要用listview控件实现,一般来说在窗体工具箱中并没有这个控件,所以我们要自己添加,打开窗体工具箱,在空白处右键--&gt;附加控件--&gt;选择microsoft listview control,version 6.0--&gt;确定就好了,其使用方法和其他控件的使用方法是一样的,拖动到窗口就可以使用了 3.首先...

oyq的博客 7780

VB演示使用ADO控件分页的例子

详细的描述了利用vb6VB演示使用ADO控件分页的例子,初学者必备利器!

vb.net中对Repeater控件进行分页显示

在控件的page_load中写如下代码Dim objConn As SqlConnection = New SqlConnection(SQLHelper.ConnnectionString)        Dim objCommand As SqlDataAdapter        Dim userID As String = Session("UserID")        If Com

ziyue_2008的专栏 1328

VB语言的分页代码,已经写成类

VB语言的分页代码,已经做成了一个类,可以随意调用,非常简单

devpage分页控件源码+示例100%好用

devpage分页控件源码+示例100%好用

VB.NET学习笔记:WinForm自定义DataGridView分页组合控件

测试环境:windows 7和Microsoft Visual Studio 2015 点击下载本文资源 VB.NET虽然提供了大量控件供我们使用,但很多控件仅提供最基础的功能。比如用DataGridView控件可以非常方便显示或操作数据库数据, 但却没有分页功能。本文介绍通过自定义窗体库组合VB.NET已有控件实现DataGridView控件分页显示功能。 测试效果如图: DataGri...

zyjq52uys的博客 3694

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

vb制作分页效果

我用VB制作的学籍档案管理系统,可是做到分页是卡住了……求教,知道的人帮帮忙啊!!我用的是DataGrid和Adodc,全部是用控件控制的啊!!求教高手教下啊!!!

fly_heigh的专栏 344

从实验室到生产线:Qwen3-Omni后训练技术在实际业务中的落地挑战

本文探讨了Qwen3-Omni后训练技术在实际业务中的落地挑战,重点分析了多模态AI在工业应用中的关键问题与解决方案。通过金融风控、跨境电商等场景案例,揭示了通用模型与垂直需求的矛盾,并提供了知识蒸馏、语音合成优化等实战经验,助力企业实现技术到业务的转化。

weixin_29035147的博客 267

STM32N6实战:FSBL引导XIP运行ThreadX与NetX Duo

在嵌入式系统开发中,程序的存储与执行方式直接影响启动速度和系统实时性。传统MCU常将代码拷贝到内存运行,而高主频处理器则可通过XIP(片外Flash原地执行)技术直接从外部存储取指,省去拷贝过程。但XIP的前提是外部存储器控制器需在上电后第一时间完成初始化,这正是FSBL(第一级引导程序)的核心职责。FSBL负责配置时钟与外部Flash,并将控制权移交给应用。而要让设备具备实时调度与网络能力,可搭配ThreadX实时内核和NetX Duo双协议栈,两者在CubeMX中原生集成,形成一套高性能MCU+外部存储

weixin_29191669的博客 319

DataList控件也玩分页(vb)

   今天开发了一个系统。需要用多一行多列去展示图片。查找了一下DATAGIRD的属性。发现其没有重复列的功能。于是我使用了datalist的RepeatColumns="4"列重复功能,却又发现DATALIST没有分页功能。怎么办?于是写了下面的关于的分页程序。发出来希望对正在学ASP.NET程序的朋友能有所帮作。      下面是全部原代码,这里我使用了DataAdapter与Data

payunshangdezhu的专栏 1651

结构力学本构模型:复合材料模型:复合材料热力学行为技术教程_2024-08-07_06-54-53.Tex

热塑性复合材料是一种由热塑性树脂基体和增强纤维组成的复合材料。与热固性复合材料不同,热塑性复合材料在加热时可以软化,冷却时硬化,这一过程可以重复进行,因此它们具有可回收和可再加工的特性。热塑性树脂,如聚酰胺(尼龙)、聚碳酸酯、聚醚醚酮(PEEK)等,与碳纤维、玻璃纤维等增强材料结合,可以制备出具有高强度、高刚度和良好耐热性的复合材料。热粘弹性理论是研究材料在温度变化和时间依赖性载荷作用下的变形和应力响应。复合材料,由于其独特的微观结构,展现出复杂的热粘弹性行为。

808
上一篇: 企业级SQL分页代码
下一篇: web性能测试分析-工具篇
beichen_
博客等级 码龄19年 17粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值