Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ItemNumberList = New ArrayList
Dim PageSize As Integer = 2
str = "SELECT jid FROM ajnas ORDER BY jid "
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0; " & "data source=e:\test.mdb")
con.Open()
com = New OleDbCommand(str, con)
DBReader = com.ExecuteReader()
While DBReader.Read()
ItemNumberList.Add(DBReader("jid"))
End While
DBReader.Close()
con.Close()
ItemNumberList.TrimToSize()
'-- Create Paging Buttons
Dim StartIndex = 0
Dim EndIndex As Integer
Dim StartKey As String
Dim EndKey As String
Dim i As Integer
Dim pagebuttons As New Button
pagebuttons.Controls.Clear()
For i = 1 To Math.Ceiling(ItemNumberList.Count / PageSize)
EndIndex = StartIndex + PageSize - 1
If EndIndex > ItemNumberList.Count - 1 Then
EndIndex = ItemNumberList.Count - 1
End If
StartKey = ItemNumberList(StartIndex)
EndKey = ItemNumberList(EndIndex)
Dim PageButton As Button
PageButton = New Button
PageButton.Text = i
PageButton.ID = "P" & i
PageButton.CommandName = StartKey & "|" & EndKey
PageButton.Style("width") = "20px"
PageButton.Style("background-color") = "#F0F0F0"
AddHandler PageButton.Command, AddressOf GetPage
placeholder1.Controls.Add(PageButton)
StartIndex += PageSize
Next
If Not Page.IsPostBack Or ViewState("Updated") = True Then
'== BIND INITIAL REPEATER ==
str = "SELECT TOP " & PageSize & " * FROM ajnas ORDER BY jid"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0; " & "data source=e:\test.mdb")
con.Open()
com = New OleDbCommand(str, con)
DBReader = com.ExecuteReader()
rep.DataSource = DBReader
rep.DataBind()
DBReader.Close()
con.Close()
Dim FirstButton As Button
FirstButton = CType(placeholder1.FindControl("P1"), Button)
FirstButton.Style("background-color") = "#009999"
FirstButton.Style("color") = "#FFFFFF"
ViewState("Updated") = False
End If
'Put user code to initialize the page here
End Sub
Sub GetPage(ByVal Src As Object, ByVal Args As CommandEventArgs)
Dim Keys() As String
Keys = Split(Args.CommandName, "|")
str = "SELECT * FROM ajnas WHERE jid >= '" & Keys(0) & "' AND " & _
"jid <= '" & Keys(1) & "' " & _
"ORDER BY jid"
con = New OleDbConnection("provider=microsoft.jet.oledb.4.0; " & "data source=e:\test.mdb")
con.Open()
com = New OleDbCommand(str, con)
DBReader = com.ExecuteReader()
rep.DataSource = DBReader
rep.DataBind()
DBReader.Close()
con.Close()
'-- Highlight clicked button
Dim Item As Button
Dim ThisButton As Button
For Each Item In placeholder1.Controls
ThisButton = CType(Item, Button)
ThisButton.Style("background-color") = "#F0F0F0"
ThisButton.Style("color") = "#000000"
Next
ThisButton = CType(placeholder1.FindControl(Src.id), Button)
ThisButton.Style("background-color") = "#009999"
ThisButton.Style("color") = "#FFFFFF"
End Sub
باید یک placeholder با مشخصه p1 در فرم بسازی که کلید های صفحه در آن قرار می گیرد