如何更改组合框列表中项目的颜色
How to change color of an item in my ComboBoxList
我有一个 ComboBoxList
,它下面有特定的项目和一个按钮。在单击事件中,我想 更改项目的文本颜色 如果已选中(将文本颜色更改为红色或绿色)。但是,如果项目颜色已经更改(变为红色或绿色)并且项目在第二轮中未选中,则颜色应恢复为原始颜色。
以下是我试过的代码片段。
ASPX
<body>
<form id="form1"
runat="server">
<div>
<asp:checkboxlist runat="server"
EnableViewState="true"
id="cbl" />
<asp:Button ID="Button1"
runat="server"
Text="Button"
OnClick="Button1_Click" />
</div>
</form>
</body>
服务器端
protected void Button1_Click(object sender, EventArgs e)
{
for ( int i =0; i< count; i++)
{
if (this.ColumnsList.Items(i).Selected)
{
this.ColumnsList.Items(i).Attributes.Add("style", "Color=Red;");
}
}
}
错误信息是
Non-invocable member 'System.Web.UI.WebControls.ListControl.Items'
cannot be used like a method.
出了什么问题?
也许:
if (this.ColumnsList.Items[i].Selected)
{
this.ColumnsList.Items[i].Attributes.Add("style", "color: red;");
}
使用 ForEach
而不是 For
并尝试下面的代码。
foreach (ListItem item in this.ColumnsList.Items)
{
if (item.Selected)
{
item.Attributes.Add("style", "Color: Red");
}
}
你可以这样做......它在测试中工作正常..
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
{
CheckBoxList1.Items[i].Attributes.Add("style", "color:red");
}
}
}
您的代码中有两个问题。
- 不要使用
RoundBracket ()
,而是使用 SquareBraket []
。 ()
在这种情况下效果不佳。
示例 使用 CheckBoxList1.Items[i].Selected
代替 CheckBoxList1.Items(I).Selected
- 不使用
Add("style", "Color=Red;");
来添加颜色,而是使用Add("style", "Color: Red");
我有一个 ComboBoxList
,它下面有特定的项目和一个按钮。在单击事件中,我想 更改项目的文本颜色 如果已选中(将文本颜色更改为红色或绿色)。但是,如果项目颜色已经更改(变为红色或绿色)并且项目在第二轮中未选中,则颜色应恢复为原始颜色。
以下是我试过的代码片段。
ASPX
<body>
<form id="form1"
runat="server">
<div>
<asp:checkboxlist runat="server"
EnableViewState="true"
id="cbl" />
<asp:Button ID="Button1"
runat="server"
Text="Button"
OnClick="Button1_Click" />
</div>
</form>
</body>
服务器端
protected void Button1_Click(object sender, EventArgs e)
{
for ( int i =0; i< count; i++)
{
if (this.ColumnsList.Items(i).Selected)
{
this.ColumnsList.Items(i).Attributes.Add("style", "Color=Red;");
}
}
}
错误信息是
Non-invocable member 'System.Web.UI.WebControls.ListControl.Items' cannot be used like a method.
出了什么问题?
也许:
if (this.ColumnsList.Items[i].Selected)
{
this.ColumnsList.Items[i].Attributes.Add("style", "color: red;");
}
使用 ForEach
而不是 For
并尝试下面的代码。
foreach (ListItem item in this.ColumnsList.Items)
{
if (item.Selected)
{
item.Attributes.Add("style", "Color: Red");
}
}
你可以这样做......它在测试中工作正常..
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i <CheckBoxList1.Items.Count; i++)
{
if (CheckBoxList1.Items[i].Selected)
{
CheckBoxList1.Items[i].Attributes.Add("style", "color:red");
}
}
}
您的代码中有两个问题。
- 不要使用
RoundBracket ()
,而是使用SquareBraket []
。()
在这种情况下效果不佳。
示例 使用 CheckBoxList1.Items[i].Selected
代替 CheckBoxList1.Items(I).Selected
- 不使用
Add("style", "Color=Red;");
来添加颜色,而是使用Add("style", "Color: Red");