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 物件索引。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。