2012-06-22 41 views
2

我有兩個ListBoxes。首先ListBox項目是「產品」的列表。和第二個ListBox項目是「產品中的項目」列表,因此當用戶單擊第一個(產品)列表框中的項目時第二個ListBox將顯示所選產品中的項目列表。在ListBox中獲取多個選定項目的索引c#

例如:

Products  Items in Proucts 
    AA*     1 
    BB     2 
    CC     3 

例如高於當前用戶選擇的AA產品英寸1,2,3是產品AA中的項目。

對於當前的程序,我已經完成了。用戶一次只能選擇一個「產品」。然後我想更改爲多選。所以我想獲得用戶選擇的每個產品的索引號,然後我可以從數據庫中檢索數據以獲取所有選定產品的「產品中的物品」。

if (productsListBox.SelectedItmes.Count >= 0) 
{ 
// please provide me coding here to get index number for each selected items in productListBox. 
} 

回答

3

我已經得到了答案:

if (productListBox.SelectedItems.Count >= 0) 
{ 
    for (int i = 0; i < productListBox.SelectedItems.Count; i++) 
     { 
      MessageBox.Show(productListBox.SelectedIndices[i].ToString()); 
     } 
    } 
+1

SelectedIndices應由SelectedItems替換。試圖建議編輯,但審閱者回答「此編輯不正確」。去計算爲什麼。 –

1
if (productsListBox.SelectedItmes.Count >= 0) 
{ 

    string IDs = string.Empty; 
    foreach(ListItem li in productsListBox.SelectedItmes) 
    { 
     IDs += li.Value+"," ; 
    } 
     IDs = IDs.Trim(','); 

} 

它會給你選擇的ID

的CSV
+0

我使用VS 2005的外觀列表項的屬性不支持這裏。 –

+0

有ListViewItem :)。 [MSDN](http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.selecteditems.aspx) – dvvrd

+0

好的。其實你沒有在這裏提到過網頁或窗口,我以爲你在問網頁(asp.net)。 – yogi

0
private string GetTagsList() 
    { 
     string Tags = string.Empty; 

     if (lstTags.SelectedItems.Count >= 0) 
     { 
      for (int i = 0; i < lstTags.SelectedItems.Count; i++) 
      { 
       Tags += lstTags.SelectedIndices[i].ToString() + ","; 
      } 
      Tags = Tags.Trim(','); 
     } 

     return Tags; 
    } 
相關問題