2012-09-14 482 views
2

我想要做的是當第一個下拉選擇它會從下一個下拉列表中刪除選定的項目。因此,如果您在第一個下拉列表中選擇B,然後在下一個下拉列表中選擇B,則應該只顯示A,C,D中的數據:A,B,C,D,E,F,G,H,I ,E,F,G,H,I等多達7個下拉菜單。我不知道什麼是在asp.net中處理這個問題的最佳方法?如何在其他下拉列表中選擇某個項目時禁用下拉列表中的項目?

+0

但是你想從所有7個下拉菜單中得到什麼?請把一些光..我沒有讓你想要禁用項目或刪除下拉項目 – user1102001

+0

我只是想從下拉列表中禁用該項目爲下一個事件。 – akirah

回答

0

您需要處理DropDownList的SelectedIndexChanged事件,以確定何時選擇了某個項目,然後遍歷其他DropDownLists中的項目,刪除所需項目。例如。

void DropDownListOne_SelectedIndexChanged(object sender, Eventargs e) 
{ 
    ListItem selectedItem = DropDownListOne.SelectedItem; 

    foreach(ListItem item in DropDownListTwo.Items) 
    { 
     if(item.Value == selectedItem.Value) 
     { 
      DropDownListTwo.Items.Remove(item); 
     } 
    } 
} 
0

試試這個

ListItem item = d1.Items.FindByText(d1.SelectedValue); 
d2.Items.Remove(item); 

如果你有字符數組,你可以有

string[] letters = new string[] {"A","B","C"}; 

string d1SelValue = d1.SelectedValue; 

d2.DataSource = letters.Where(l => l != d1SelValue).ToArray(); 
d2.DataBind(); 
相關問題