Protected Sub AllowPaging_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lvPager As DataPager = CType(sender.bindingcontainer, ListView).FindControl("lvPager")
Dim chkPaging As CheckBox = CType(sender, CheckBox)
lvPager.Visible = Not lvPager.Visible
CType(sender.BindingContainer, ListView).DataBind()
End Sub
Protected Sub Pages_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim ddlPages As DropDownList = CType(sender, DropDownList)
Dim lvPager As DataPager = CType(sender.BindingContainer, DataPager)
lvPager.SetPageProperties((ddlPages.SelectedValue - 1) * lvPager.PageSize, lvPager.PageSize, True)
End Sub
Protected Sub ddlPages_OnDataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lvPager As DataPager = CType(sender.BindingContainer, DataPager)
Dim i As Integer
If lvPager IsNot Nothing Then
Dim Pages As Integer = System.Math.Ceiling(lvPager.TotalRowCount / lvPager.PageSize)
Dim CurrentPage As Integer = System.Math.Ceiling((lvPager.StartRowIndex + 1) / lvPager.PageSize)
Dim ddlPages As DropDownList = lvPager.Controls(0).FindControl("ddlPages")
If ddlPages IsNot Nothing Then
For i = 1 To Pages
Dim lstItem As New ListItem(i)
If i = CurrentPage Then
lstItem.Selected = True
End If
ddlPages.Items.Add(lstItem)
Next
End If
End If
End Sub
Protected Sub lvPager_OnPagerCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataPagerCommandEventArgs)
If e.CommandName = "Page" Then
Select Case e.CommandArgument
Case "Next"
Dim newIndex As Integer = e.Item.Pager.StartRowIndex + e.Item.Pager.PageSize
If newIndex <= e.TotalRowCount Then
e.NewStartRowIndex = newIndex
e.NewMaximumRows = e.Item.Pager.MaximumRows
End If
Case "Prev"
e.NewStartRowIndex = e.Item.Pager.StartRowIndex - e.Item.Pager.PageSize
e.NewMaximumRows = e.Item.Pager.MaximumRows
Case "First"
e.NewStartRowIndex = 0
e.NewMaximumRows = e.Item.Pager.MaximumRows
Case "Last"
e.NewStartRowIndex = System.Math.Floor(e.Item.Pager.TotalRowCount / e.Item.Pager.PageSize) * e.Item.Pager.PageSize
e.NewMaximumRows = e.Item.Pager.MaximumRows
End Select
End If
End Sub
Protected Sub ListView_DataBound(ByVal sender As Object, ByVal e As System.EventArgs)
Dim lvPager As DataPager = CType(sender, ListView).FindControl("lvPager")
Dim chkPaging As CheckBox = CType(sender, ListView).FindControl("AllowPaging")
If chkPaging.Checked Then
lvPager.PageSize = 10
lvPager.SetPageProperties(lvPager.StartRowIndex, 10, False)
Else
lvPager.PageSize = lvPager.TotalRowCount
lvPager.SetPageProperties(0, lvPager.TotalRowCount, False)
End If
End Sub