⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultvb.aspx.vb

📁 Telerik是很大的第三方软件制造商
💻 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 + -