2011-02-08 53 views
0

我有兩個listbox控件Listbox1和Listbox2。我想要獲取從ListBox1中選擇的c#中的Listbox2項的數量?假設我在Listbox1中有7個項目,並且從Listbox2控件中只選擇了3個項目。我想獲得C#中Listbox2的項數?asp.net中的列表框控件

回答

0

您可以在ListBox1中的所有選定項目上循環,並在循環內部搜索ListBox2中具有相同值的項目,並且如果選擇了它,則會增加一個計數器。

1

環通所選擇的項目時,選擇改變

事情是這樣的:

 int count = 0;  
     foreach(string itemListbox2 in listBox2.Items) 
     { 
      if (itemListbox2.Selected) 
      {  
       foreach(string itemListbox1 in listbox1.Items) 
       { 
        if (itemListbox1.Selected) 
        { 
         if(itemListbox1.Equals(itemListbox2)) 
         { 
         count++; 
         break; 
         } 
        } 
       } 
      } 
     } 
+0

在asp.net表單中沒有名爲SelectedItems的屬性。它的WinForms。有一半的頭腦要降低你。所以請儘快修正:) – naveen 2011-02-08 11:23:49

0

一個ListBox在asp.net沒有SelectedItems。因此,循環通過項目並檢查它們是否被選中。如果是這樣,請在另一個列表中找到具有相同值的項目。如果找到相應的項目,請對其進行計數。像這樣:

int count = 0; 
foreach (ListItem item in secondListBox.Items) 
{ 
    if (item.Selected) 
    { 
     ListItem itemWithSameValue = firstListBox.Items.FindByValue(item.Value); 
     if (itemWithSameValue != null) 
     { 
      count++; 
     } 
    } 
} 
2

不知道爲什麼沒有人使用Linq。


@Riya:我明白你的要求,因爲,你想要的伯爵在ListBox1的存在於ListBox2項目 SelectedItems的。如果是這樣的話。

var filteredListCount = ListBox2.Items 
    .Cast<ListItem>() 
    .Where(li => 
     ListBox1.Items 
      .Cast<ListItem>() 
      .Where(item => item.Selected) 
      .Select(item => item.Text).Contains(li.Text)) 
    .Count();