Guest User

Untitled

a guest
Jan 18th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.05 KB | None | 0 0
  1. Public Property CurrentPage() As Integer
  2. Get
  3. ' look for current page in ViewState
  4. Dim o As Object = Me.ViewState("_CurrentPage")
  5.  
  6.  
  7. If o Is Nothing Then
  8. Return 0
  9. Else
  10. ' default to showing the first page
  11. Return CInt(o)
  12. End If
  13. End Get
  14.  
  15. Set
  16. Me.ViewState("_CurrentPage") = value
  17. End Set
  18. End Property
  19.  
  20. Protected Sub ItemsGet()
  21. Dim pageSize As Integer = 15
  22. ItemsGet(pageSize)
  23. End Sub
  24.  
  25. Private Sub ItemsGet(ByVal pageSize As Integer)
  26. ' Read sample item info from XML document into a DataSet
  27.  
  28. ' Populate the repeater control with the Items DataSet
  29. Dim objPds As New PagedDataSource()
  30.  
  31. Dim selectedCategory As String = ddlCategory.SelectedValue.ToString()
  32. Dim selectedCategoryIndex As Integer = ddlCategory.SelectedIndex
  33.  
  34. Dim selectedCategoryMonth As String = ddlCategoryMonth.SelectedValue.ToString()
  35. Dim selectedCategoryMonthIndex As Integer = ddlCategoryMonth.SelectedIndex
  36.  
  37. Dim query = GetXmlDataSet()
  38.  
  39. If (Not String.IsNullOrEmpty(selectedCategory) And selectedCategoryIndex > 0) Then
  40. query = query.Where(Function(x) x("SCategoryName") = selectedCategory)
  41. End If
  42. If (Not String.IsNullOrEmpty(selectedCategoryMonth) And selectedCategoryMonthIndex > 0) Then
  43. query = query.Where(Function(x) x("SCategoryMonth") = selectedCategoryMonth)
  44. End If
  45.  
  46. If (query.Count() > 0) Then
  47.  
  48. objPds.DataSource = query.CopyToDataTable().Rows
  49. objPds.AllowPaging = True
  50. objPds.PageSize = pageSize
  51.  
  52. objPds.CurrentPageIndex = CurrentPage
  53.  
  54. lblCurrentPage.Text = "Page: " + (CurrentPage + 1).ToString() + " of " + objPds.PageCount.ToString()
  55.  
  56. ' Disable Prev or Next buttons if necessary
  57. cmdPrev.Enabled = Not objPds.IsFirstPage
  58. cmdNext.Enabled = Not objPds.IsLastPage
  59. Display10.Enabled = True
  60. Display25.Enabled = True
  61. Display50.Enabled = True
  62.  
  63. categories.DataSource = objPds
  64. categories.DataBind()
  65. Else
  66. CurrentPage = 0
  67. categories.Controls.Clear()
  68. cmdPrev.Enabled = False
  69. cmdNext.Enabled = False
  70. Display10.Enabled = False
  71. Display25.Enabled = False
  72. Display50.Enabled = False
  73. lblCurrentPage.Text = "Page: 0 of 0 "
  74. End If
  75. End Sub
  76.  
  77. Private Sub Display10_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  78. Dim pageSize As Integer = 10
  79. CurrentPage = 0
  80. ItemsGet(pageSize)
  81. End Sub
  82.  
  83. Private Sub Display25_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  84. Dim pageSize As Integer = 25
  85. CurrentPage = 0
  86. ItemsGet(pageSize)
  87. End Sub
  88.  
  89. Private Sub Display50_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  90. Dim pageSize As Integer = 50
  91. CurrentPage = 0
  92. ItemsGet(pageSize)
  93. End Sub
  94.  
  95.  
  96.  
  97. Private Sub cmdPrev_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  98.  
  99. ' Set viewstate variable to the previous page
  100. CurrentPage -= 1
  101.  
  102. ' Reload control
  103. ItemsGet()
  104. End Sub
  105.  
  106. Private Sub cmdNext_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  107. ' Set viewstate variable to the next page
  108. CurrentPage += 1
  109.  
  110. ' Reload control
  111. ItemsGet()
  112. End Sub
  113.  
  114.  
  115. Protected Sub ddlCategory_SelectedIndexChanged1(ByVal sender As Object, ByVal e As System.EventArgs)
  116. CurrentPage = 0
  117. ItemsGet()
  118. End Sub
  119.  
  120. Protected Sub ddlCategoryMonth_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  121. CurrentPage = 0
  122. ItemsGet()
  123. End Sub
  124.  
  125. Public Property PageSize() As Integer
  126. Get
  127. If Me.ViewState("PageSize") Is Nothing Then
  128. Me.ViewState("PageSize") = 15
  129. End If
  130.  
  131. Return CInt( Me.ViewState("PageSize") )
  132. End Get
  133. Set
  134. Me.ViewState("PageSize") = value
  135. End Set
  136. End Property
Add Comment
Please, Sign In to add comment