我加入一個下拉使用模板字段爲GridView控件:如何突出顯示gridview中的選定行?
<asp:TemplateField HeaderText="Change Color">
<ItemTemplate>
<asp:DropDownList ID="dropdownid" DataSourceID="sqldatasource_id" DataTextField="username"
BackColor="GrayText" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AppendDataBoundItems="True" runat="server" AutoPostBack="True">
<asp:ListItem Text="--Select One--" Value="" Selected="True" />
</asp:DropDownList>
的SqlDataSource是:
<asp:SqlDataSource ID="sqldatasource_id" runat="server" ConnectionString="<%$ ConnectionStrings:crudconnection %>"
SelectCommand="SELECT [username] FROM [crudtable]"></asp:SqlDataSource>
Indexchange-事件是:
protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)
{
}
我想強調的行當從相應的下拉列表中選擇任何值時。 我該怎麼做?
在此先感謝。
我試了一下:
GridView1.Rows[GridView1.SelectedIndex].BackColor = Color.Red;
但它畢竟是給人一種例外,因爲當跟隨有史以來我選擇從任何下拉列表任意值。
指數超出範圍。必須是非負數且小於集合的大小。 參數名稱:索引
我正在獲取所選行的索引號,因爲我已經增加了它,並且可以使用背色屬性?
謝謝,我的答覆之前嘗試過了,它正在改變當前行的顏色。 DropDownList ddl =(DropDownList)sender; GridViewRow row =(GridViewRow)ddl.NamingContainer; row.BackColor = Color.Yellow; int abc = row.RowIndex; 在abc我正在獲取當前行的索引。請告訴我如何增加它(語法),以便我可以突出顯示任何所選下拉列表下面的第三行。 – user1544975 2012-07-30 10:26:13
如果'abc'是當前行的'index',那麼你可以執行'GridView1.SelectedIndex + abc',然後改變該行的背景顏色。 – CodeMonkey 2012-07-30 10:34:03