【发布时间】:2012-07-30 09:40:37
【问题描述】:
我正在使用模板字段向 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-Event 如下:
protected void GridView1_SelectedIndexChanged(object sender,EventArgs e)
{
}
我想在选择相应的dropdownlist的任何值时突出显示一行。 我该怎么做?
提前致谢。
我试过了:
GridView1.Rows[GridView1.SelectedIndex].BackColor = Color.Red;
但是当我从任何下拉列表中选择任何值时,它仍然会给出如下异常。
索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引
如前所述,我正在获取所选行的索引号。我不能从那里增加它并且也可以使用背景颜色属性吗?
【问题讨论】: