别人的代码,完全可以实现的。Imports System.Data.SqlClient Imports System.Data Imports System.Web.UIPublic Class WebForm1 Inherits System.Web.UI.Page Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label Protected WithEvents lblPageCount As System.Web.UI.WebControls.Label Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid #Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent() End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load btnFirst.Text = "最首页" btnPrev.Text = "前一页" btnNext.Text = "下一页" btnLast.Text = "最后页" OpenDatabase() BindGrid() End Sub Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs) Dim startIndex As Integer startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize MyDataGrid.CurrentPageIndex = e.NewPageIndex BindGrid() ShowStats() End Sub Sub BindGrid() Dim myConnection As SqlConnection = cn Dim ds As DataSet = New DataSet() Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from Orders", myConnection) adapter.Fill(ds, "Orders") MyDataGrid.DataSource = ds.Tables("Orders").DefaultView MyDataGrid.DataBind() ShowStats() End Sub Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs) 'used by external paging UI Dim arg As String = sender.CommandArgument Select Case arg Case "next" If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then MyDataGrid.CurrentPageIndex += 1 End If Case "prev" If (MyDataGrid.CurrentPageIndex > 0) Then MyDataGrid.CurrentPageIndex -= 1 End If Case "last" MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1) Case Else 'page number MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg) End Select BindGrid() ShowStats() End Sub Sub ShowStats() lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页" lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页" End Sub Public cn As New SqlClient.SqlConnection() Public Sub OpenDatabase() cn.ConnectionString = "Server=hqeipmisdbsvr11;Database=NorthWind;User Id=sa;Password=;" cn.Open() End SubEnd Class
学习一下。
学习一下。
Imports System.Data
Imports System.Web.UIPublic Class WebForm1
Inherits System.Web.UI.Page
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents btnFirst As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnPrev As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnNext As System.Web.UI.WebControls.LinkButton
Protected WithEvents btnLast As System.Web.UI.WebControls.LinkButton
Protected WithEvents lblCurrentIndex As System.Web.UI.WebControls.Label
Protected WithEvents lblPageCount As System.Web.UI.WebControls.Label
Protected WithEvents MyDataGrid As System.Web.UI.WebControls.DataGrid
#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
btnFirst.Text = "最首页"
btnPrev.Text = "前一页"
btnNext.Text = "下一页"
btnLast.Text = "最后页"
OpenDatabase()
BindGrid()
End Sub
Sub MyDataGrid_Page(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
Dim startIndex As Integer
startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize
MyDataGrid.CurrentPageIndex = e.NewPageIndex
BindGrid()
ShowStats()
End Sub Sub BindGrid()
Dim myConnection As SqlConnection = cn
Dim ds As DataSet = New DataSet()
Dim adapter As SqlDataAdapter = New SqlDataAdapter("Select * from Orders", myConnection)
adapter.Fill(ds, "Orders")
MyDataGrid.DataSource = ds.Tables("Orders").DefaultView
MyDataGrid.DataBind()
ShowStats() End Sub Sub PagerButtonClick(ByVal sender As Object, ByVal e As EventArgs)
'used by external paging UI
Dim arg As String = sender.CommandArgument Select Case arg
Case "next"
If (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1)) Then
MyDataGrid.CurrentPageIndex += 1
End If
Case "prev"
If (MyDataGrid.CurrentPageIndex > 0) Then
MyDataGrid.CurrentPageIndex -= 1
End If
Case "last"
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1)
Case Else
'page number
MyDataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End Sub Sub ShowStats()
lblCurrentIndex.Text = "第 " + (MyDataGrid.CurrentPageIndex + 1).ToString() + " 页"
lblPageCount.Text = "总共 " + MyDataGrid.PageCount.ToString() + " 页"
End Sub
Public cn As New SqlClient.SqlConnection()
Public Sub OpenDatabase()
cn.ConnectionString = "Server=hqeipmisdbsvr11;Database=NorthWind;User Id=sa;Password=;"
cn.Open()
End SubEnd Class