GridView裡使用CommandName來變換背景色

原程式來自藍色小舖

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
        If e.CommandName = "Add" Then
            Dim rowindx As Integer = CType((CType(e.CommandSource, Button).NamingContainer), GridViewRow).RowIndex

            For i As Integer = 0 To GridView1.Rows.Count - 1
                If i = rowindx Then
                    GridView1.Rows(rowindx).BackColor = Drawing.Color.Red
                Else
                    GridView1.Rows(i).BackColor = Drawing.Color.White
                End If
            Next
        End If
    End Sub

這是網友提問的問題,其中Aska提供了一段程式碼,這段程式碼讓我們可以使用程式的方式來取得所在的GridView裡RowIndex,算是進階等級的使用方法,其中有些屬性是比較少使用,順道了解一下。

重點在CType這一段落:

e.CommandSource:取得命令的來源。

註:就是取得引發此命令的來源(即控制項),然後轉換為Button物件(因為是由Button來引發)。

.NamingContainer屬性:取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 Control.ID 屬性值的伺服器控制項之間作區別。

GridViewRow類別
:表示 GridView 控制項中的個別資料列。


RowIndex屬性
:取得 GridView 控制項之Rows集合的 GridViewRow 物件索引。

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。