2011-09-14 79 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屬性,清除舊的屬性,並指定一個新的屬性。