📄 defaultvb.aspx.vb
字号:
Imports System.Collections
Imports Telerik.WebControls
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Drawing
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports Telerik.QuickStart
Namespace Telerik.GridExamplesVBNET.Programming.CustomizingPager
Public Class DefaultVB
Inherits XhtmlPage
Protected Button1 As System.Web.UI.WebControls.Button
Protected WithEvents RadGrid1 As RadGrid
#Region "Web Form Designer generated code"
Protected Overrides Sub OnInit(ByVal e As EventArgs)
InitializeComponent()
MyBase.OnInit(e)
End Sub
Private Sub InitializeComponent()
End Sub
#End Region
Public ReadOnly Property GetDataSource() As DataTable
Get
Dim MyOleDbConnection As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("~/Grid/Data/Access/Nwind.mdb"))
Dim MyOleDbDataAdapter As OleDbDataAdapter = New OleDbDataAdapter
MyOleDbDataAdapter.SelectCommand = New OleDbCommand("SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, PostalCode FROM Customers", MyOleDbConnection)
Dim myDataTable As DataTable = New DataTable
MyOleDbConnection.Open()
Try
MyOleDbDataAdapter.Fill(myDataTable)
Finally
MyOleDbConnection.Close()
End Try
Return myDataTable
End Get
End Property
Private Sub RadGrid1_NeedDataSource(ByVal [source] As Object, ByVal e As GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource
Me.RadGrid1.DataSource = Me.GetDataSource()
End Sub
Private Sub RadGrid1_ItemEvent(ByVal sender As Object, ByVal e As Telerik.WebControls.GridItemEventArgs) Handles RadGrid1.ItemEvent
If (TypeOf (e.EventInfo) Is GridInitializePagerItem) Then
Dim info As GridInitializePagerItem = CType(e.EventInfo, GridInitializePagerItem)
e.Canceled = True
Dim pagerItem = CType(e.Item, GridPagerItem)
pagerItem.PagerContentCell.Controls.Add(New MyPager(info.PagingManager, e.Item.OwnerTableView))
End If
End Sub
Public Class MyPager
Inherits Control
Private paging As GridPagingManager
Private tableView As GridTableView
Dim myTextBox As TextBox
Dim myRangeValidator As RangeValidator
Public Sub New(ByVal paging As GridPagingManager, ByVal tableView As GridTableView)
Me.paging = paging
Me.tableView = tableView
Me.EnsureChildControls()
End Sub
Protected Overrides Sub CreateChildControls()
Me.Controls.Add(New LiteralControl("Page: "))
myTextBox = New TextBox
myTextBox.ID = "textbox"
myTextBox.Columns = 3
Me.Controls.Add(myTextBox)
Me.Controls.Add(New LiteralControl(" (of " & Me.paging.PageCount & ") "))
Dim btn As LinkButton = New LinkButton
btn.ID = "btn1"
btn.Text = "Change page"
AddHandler btn.Click, AddressOf Me.BtnClick
Me.Controls.Add(btn)
myRangeValidator = New RangeValidator
myRangeValidator.ErrorMessage = " Page index should be in the range of 1 to " & Me.paging.PageCount
Me.Controls.Add(myRangeValidator)
End Sub
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
myTextBox.Text = (paging.CurrentPageIndex + 1).ToString()
myRangeValidator.Type = ValidationDataType.Integer
myRangeValidator.MinimumValue = 1.ToString()
myRangeValidator.MaximumValue = Me.paging.PageCount.ToString()
myRangeValidator.ControlToValidate = myTextBox.ID
MyBase.OnPreRender(e)
End Sub
Protected Sub BtnClick(ByVal sender As Object, ByVal e As EventArgs)
If Not (Me.myTextBox.Text.Trim() = "") Then
Me.tableView.CurrentPageIndex = Integer.Parse(Me.myTextBox.Text) - 1
Me.tableView.Rebind()
End If
End Sub
End Class
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -