分頁顯示記錄

分頁顯示記錄的主要思想就是先將所有的數據存到dataTable中,提供思想,靈活編寫靈活調用

示例,分頁顯示類

Public Class clsPage
    '每頁記錄數
    Private _RowsPerPage As Integer = 20
    '總頁數
    Private _TotalPage As Integer = 1
    '當前頁數
    Private _curPage As Integer = 1
    '要分頁的DataGridView
    Private _DataGridView As Windows.Forms.DataGridView
    '保存的datatable
    Private _DataTable As System.Data.DataTable


    '獲取與設置每頁記錄數
    Public Property RowsPerPage() As Integer
        Get
            Return _RowsPerPage
        End Get
        Set(ByVal value As Integer)
            _RowsPerPage = value
        End Set
    End Property


    '獲取總頁數
    Public Property TotalPage() As Integer
        Get
            Return _TotalPage
        End Get
        Set(ByVal value As Integer)
            _TotalPage = value
        End Set
    End Property


    '獲取與設置當前頁數
    Public Property curPage() As Integer
        Get
            Return _curPage
        End Get
        Set(ByVal value As Integer)
            _curPage = value
        End Set
    End Property


    '設置需要分頁的GetDataGridView
    Public WriteOnly Property SetDataGridView()
        Set(ByVal value As Object)
            _DataGridView = value
        End Set
    End Property


    '獲取需要讀的表格
    Public WriteOnly Property SetDataTable()
        Set(ByVal value As Object)
            _DataTable = value
        End Set
    End Property


    Public Sub New()
        _DataGridView = New DataGridView
    End Sub


    '刷新分頁
    Public Sub RefreshPage()
        If _curPage <= _TotalPage Then
            ShowDataview()
        Else
            MsgBox("錯誤")
        End If
    End Sub


    '到第一頁
    Public Sub GoFirstPage()
        _curPage = 1
        If _TotalPage >= 1 Then '只有一頁
            ShowDataview()
        Else
            MsgBox("錯誤")
        End If
    End Sub
    '下一頁
    Public Sub GoNextPage()
        If (_curPage + 1) <= _TotalPage Then
            _curPage = _curPage + 1
            ShowDataview()
        End If
    End Sub
    '上一頁
    Public Sub GoPrevPage()
        If _curPage > 1 Then _curPage = _curPage - 1
        If _curPage <= _TotalPage Then
            ShowDataview()
        End If
    End Sub
    '到最後一頁
    Public Sub GoLastPage()
        _curPage = _TotalPage
        If _TotalPage >= 1 Then '只有一頁
            ShowDataview()
        End If
    End Sub
    'dataview顯示
    Public Sub ShowDataview()
        Dim daRow As DataRow
        _DataGridView.Rows.Clear()
        If _curPage * _RowsPerPage <= _DataTable.Rows.Count Then
            For i = (_curPage - 1) * _RowsPerPage To _curPage * _RowsPerPage - 1
                daRow = _DataTable.Rows(i)
                addDataview(daRow)
            Next
        Else
            For i = (_curPage - 1) * RowsPerPage To _DataTable.Rows.Count - 1
                daRow = _DataTable.Rows(i)
                addDataview(daRow)
            Next
        End If
    End Sub

End Class


調用

    Dim dgvPage As New clsPage

Private pageDataTable As New DataTable


dgvPage.GoFirstPage()‘跳轉第一頁

dgvPage.GoLastPage()'跳轉最後一頁

dgvPage.GoPrevPage()'跳轉上一頁

dgvPage.GoNextPage()'跳轉寫一頁

'增加記錄時候要加入到pageDataTable ,再根據每頁顯示的數量顯示到dataview(顯示控件)中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章