在「GridView加入流水號的方法 - 使用伺服器控制項(1)」,大家測試時會發現,如果GridView有分頁,流水號會重新計算。

在某些情況下,可能需要將流水號累加,這時可以將覆寫的InitializeCell(ByVal cell As System.Web.UI.WebControls.DataControlFieldCell, ByVal cellType As System.Web.UI.WebControls.DataControlCellType, ByVal rowState As System.Web.UI.WebControls.DataControlRowState, ByVal rowIndex As Integer)修改為如下程式碼

    Public Overrides Sub InitializeCell(ByVal cell As System.Web.UI.WebControls.DataControlFieldCell, ByVal cellType As System.Web.UI.WebControls.DataControlCellType, ByVal rowState As System.Web.UI.WebControls.DataControlRowState, ByVal rowIndex As Integer)

        MyBase.InitializeCell(cell, cellType, rowState, rowIndex)

        If cellType = DataControlCellType.DataCell Then

            cell.Text = (OwnerGridView.PageIndex * OwnerGridView.PageSize + rowIndex + 1).ToString()
        
        End If

    End Sub


    Private ReadOnly Property OwnerGridView() As GridView
        Get
            Return DirectCast(Me.Control, GridView)
        End Get
    End Property
 

 若需同時支援累加和不累加流水號,可自行加入屬性做判斷。