DataGrid分頁控件
2004-11-11 17:57
405 查看
Imports System.Data.SqlClient
Imports System.Data
Imports System.Web.UI
Public Class UCDataGridPaging
Inherits System.Web.UI.UserControl
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
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<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: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Protected WithEvents uc_DataGrid As System.Web.UI.WebControls.DataGrid
Public WriteOnly Property DataGridName() As DataGrid
Set(ByVal value As DataGrid)
uc_DataGrid = value
End Set
End Property
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 = "最后?"
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 (uc_DataGrid.CurrentPageIndex < (uc_DataGrid.PageCount - 1)) Then
uc_DataGrid.CurrentPageIndex += 1
End If
Case "prev"
If (uc_DataGrid.CurrentPageIndex > 0) Then
uc_DataGrid.CurrentPageIndex -= 1
End If
Case "last"
uc_DataGrid.CurrentPageIndex = (uc_DataGrid.PageCount - 1)
Case Else
'page number
uc_DataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End Sub
Sub BindGrid()
uc_DataGrid.DataBind()
ShowStats()
End Sub
Sub ShowStats()
lblCurrentIndex.Text = "第 " + (uc_DataGrid.CurrentPageIndex + 1).ToString() + " ?"
lblPageCount.Text = "?共 " + uc_DataGrid.PageCount.ToString() + " ?"
End Sub
End Class
Imports System.Data
Imports System.Web.UI
Public Class UCDataGridPaging
Inherits System.Web.UI.UserControl
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
#Region " Web Form Designer Generated Code "
'This call is required by the Web Form Designer.
<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: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub
#End Region
Protected WithEvents uc_DataGrid As System.Web.UI.WebControls.DataGrid
Public WriteOnly Property DataGridName() As DataGrid
Set(ByVal value As DataGrid)
uc_DataGrid = value
End Set
End Property
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 = "最后?"
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 (uc_DataGrid.CurrentPageIndex < (uc_DataGrid.PageCount - 1)) Then
uc_DataGrid.CurrentPageIndex += 1
End If
Case "prev"
If (uc_DataGrid.CurrentPageIndex > 0) Then
uc_DataGrid.CurrentPageIndex -= 1
End If
Case "last"
uc_DataGrid.CurrentPageIndex = (uc_DataGrid.PageCount - 1)
Case Else
'page number
uc_DataGrid.CurrentPageIndex = System.Convert.ToInt32(arg)
End Select
BindGrid()
ShowStats()
End Sub
Sub BindGrid()
uc_DataGrid.DataBind()
ShowStats()
End Sub
Sub ShowStats()
lblCurrentIndex.Text = "第 " + (uc_DataGrid.CurrentPageIndex + 1).ToString() + " ?"
lblPageCount.Text = "?共 " + uc_DataGrid.PageCount.ToString() + " ?"
End Sub
End Class