2011-09-14 25 views
0

大家好,我正在检查列表中的项目,并且如果该项目存在于下拉列表中,现在有一些项目的下拉列表我想为该特定项目应用颜色。如何更改背景颜色或将颜色应用于下拉列表中的某个项目

假设我有我的下拉如下现在

123 
    1234 
    12345 

,如果我发现我123想申请颜色特定元素的任何帮助,请

+0

您可以详细说明并发布您写下的代码 –

+0

无法将特定背景颜色添加到每个下拉元素的基本'select'标记。你必须做一个下拉式的控件才能控制某些事件以达到可定制的水平。 – Tejs

+0

@Tejs:您可以为选项指定背景,但仅在某些浏览器中支持。 – Guffa

回答

0

我只是尝试了样品,我不知道它是否适用于你这是不是只是一个样本尝试按照您的要求

lst=new ListItem("123"); 
if (DropDownList1.Items.Contains(lst)) 
{ 
    for (int i = 0; i < DropDownList1.Items.Count; i++) 
    { 
    if (DropDownList1.Items[i].Equals(lst)) 
    { 
     DropDownList1.Items[i].Attributes.Add("style", "background-color: red;"); 
    } 
    } 
} 

按照您的第二个要求

ListItemCollection lstr = new ListItemCollection(); 
lstr.Add("123"); 
lstr .Add("1234"); 
foreach (ListItem lst in lstr) 
{ 
if (DropDownList1.Items.Contains(lst)) 
{ 
for (int i = 0; i < DropDownList1.Items.Count; i++) 
{ 
    if (DropDownList1.Items[i].Equals(lst)) 
    { 
    DropDownList1.Items[i].Attributes.Add("style", "background-color: red;"); 
    } 
} 
} 
} 
+0

这会工作,如果我有多个列表项目 – Ramakrishna

+0

是的定义一个'List '或一个'ArrayList'来保存多个值,然后循环语句使用'foreach(listitem li in arr)'这样的事情会做的伎俩 – Dotnet

+0

非常感谢'用户'它在我测试的每个浏览器上都能正常工作 – Ramakrishna

0

这不是一个直接的asnwer,但我想你可以使用下面的方法来检索,修改和重新创建下拉列表的属性。

您是否尝试过访问iten的属性集合。它包含项目的CSS类,但不能直接编辑。

dropdown.Items[0].Attributes.CssStyle 

你必须检索集合,复制它,定义一个新的css属性,清除旧的属性,并指定一个新的属性。