Skip to content

Instantly share code, notes, and snippets.

@EdwardIII
Created June 6, 2011 14:21
Show Gist options
  • Save EdwardIII/1010350 to your computer and use it in GitHub Desktop.
Save EdwardIII/1010350 to your computer and use it in GitHub Desktop.
Imports Microsoft.VisualBasic.CompilerServices
Imports System
Imports System.Diagnostics
Imports System.Runtime.CompilerServices
Imports System.Web.UI
Imports System.Web.UI.WebControls
Namespace stockroom
Public Class pagingNav
Inherits UserControl
<AccessedThroughProperty("lblCurrentPage")> _
Private _lblCurrentPage As Label
<AccessedThroughProperty("cmdPrev")> _
Private _cmdPrev As Button
<AccessedThroughProperty("recordPerPage")> _
Private _recordPerPage As DropDownList
<AccessedThroughProperty("cmdNext")> _
Private _cmdNext As Button
Private designerPlaceholderDeclaration As Object
Protected Overridable Property cmdPrev() As Button
Get
Return Me._cmdPrev
End Get
<MethodImpl(32S)> _
Set
If Me._cmdPrev IsNot Nothing Then
RemoveHandler Me._cmdPrev.Click, New EventHandler(AddressOf Me.cmdPrev_Click)
End If
Me._cmdPrev = WithEventsValue
If Me._cmdPrev IsNot Nothing Then
AddHandler Me._cmdPrev.Click, New EventHandler(AddressOf Me.cmdPrev_Click)
End If
End Set
End Property
Protected Overridable Property lblCurrentPage() As Label
Get
Return Me._lblCurrentPage
End Get
<MethodImpl(32S)> _
Set
If Me._lblCurrentPage Is Nothing Then
GoTo IL_08
End If
IL_08:
Me._lblCurrentPage = WithEventsValue
If Me._lblCurrentPage IsNot Nothing Then
Return
End If
End Set
End Property
Protected Overridable Property cmdNext() As Button
Get
Return Me._cmdNext
End Get
<MethodImpl(32S)> _
Set
If Me._cmdNext IsNot Nothing Then
RemoveHandler Me._cmdNext.Click, New EventHandler(AddressOf Me.cmdNext_Click)
End If
Me._cmdNext = WithEventsValue
If Me._cmdNext IsNot Nothing Then
AddHandler Me._cmdNext.Click, New EventHandler(AddressOf Me.cmdNext_Click)
End If
End Set
End Property
Protected Overridable Property recordPerPage() As DropDownList
Get
Return Me._recordPerPage
End Get
<MethodImpl(32S)> _
Set
If Me._recordPerPage IsNot Nothing Then
RemoveHandler Me._recordPerPage.SelectedIndexChanged, New EventHandler(AddressOf Me.recordPerPage_SelectedIndexChanged)
End If
Me._recordPerPage = WithEventsValue
If Me._recordPerPage IsNot Nothing Then
AddHandler Me._recordPerPage.SelectedIndexChanged, New EventHandler(AddressOf Me.recordPerPage_SelectedIndexChanged)
End If
End Set
End Property
Public Property CurrentPage() As Integer
Get
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Me.ViewState("_CurrentPage"))
Dim result As Integer
If ObjectType.ObjTst(objectValue, Nothing, False) = 0 Then
result = 0
Else
result = IntegerType.FromObject(objectValue)
End If
Return result
End Get
Set
Me.ViewState("_CurrentPage") = Value
End Set
End Property
Public Property recordsPerPage() As Integer
Get
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Me.ViewState("_recordsPerPage"))
Dim result As Integer
If ObjectType.ObjTst(objectValue, Nothing, False) = 0 Then
result = 10
Else
result = IntegerType.FromObject(objectValue)
End If
Return result
End Get
Set
Me.ViewState("_recordsPerPage") = Value
End Set
End Property
Public Property enablePrev() As Boolean
Get
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Me.ViewState("_enablePrev"))
Return ObjectType.ObjTst(objectValue, Nothing, False) <> 0 AndAlso BooleanType.FromObject(objectValue)
End Get
Set
Me.ViewState("_enablePrev") = Value
End Set
End Property
Public Property enableNext() As Boolean
Get
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Me.ViewState("_enableNext"))
Return ObjectType.ObjTst(objectValue, Nothing, False) <> 0 AndAlso BooleanType.FromObject(objectValue)
End Get
Set
Me.ViewState("_enableNext") = Value
End Set
End Property
Public Property pageTotal() As Integer
Get
Dim objectValue As Object = RuntimeHelpers.GetObjectValue(Me.ViewState("_pageTotal"))
Dim result As Integer
If ObjectType.ObjTst(objectValue, Nothing, False) = 0 Then
result = 0
Else
result = IntegerType.FromObject(objectValue)
End If
Return result
End Get
Set
Me.ViewState("_pageTotal") = Value
End Set
End Property
Public Sub New()
AddHandler MyBase.Init, New EventHandler(AddressOf Me.Page_Init)
AddHandler MyBase.Load, New EventHandler(AddressOf Me.Page_Load)
AddHandler MyBase.PreRender, New EventHandler(AddressOf Me.Page_PreRender)
End Sub
<DebuggerStepThrough> _
Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(sender As Object, e As EventArgs)
Me.InitializeComponent()
End Sub
Private Sub cmdPrev_Click(sender As Object, e As EventArgs)
Me.CurrentPage -= 1
End Sub
Private Sub cmdNext_Click(sender As Object, e As EventArgs)
Me.CurrentPage += 1
End Sub
Private Sub recordPerPage_SelectedIndexChanged(sender As Object, e As EventArgs)
Me.recordsPerPage = IntegerType.FromString(Me.recordPerPage.SelectedValue)
Me.CurrentPage = 0
End Sub
Private Sub Page_PreRender(sender As Object, e As EventArgs)
Me.recordPerPage.SelectedValue = StringType.FromInteger(Me.recordsPerPage)
Me.cmdPrev.Enabled = Me.enablePrev
Me.cmdNext.Enabled = Me.enableNext
Me.lblCurrentPage.Text = "Page: " & Me.CurrentPage + 1.ToString() & " of " & Me.pageTotal.ToString()
End Sub
Public Sub reset()
Me.CurrentPage = 0
End Sub
Private Sub Page_Load(sender As Object, e As EventArgs)
End Sub
End Class
End Namespace
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment