2012-06-22 4 views
2

У меня есть два ListBoxes. Сначала ListBox элементы - это список «Продукты». и второй ListBox элементов - это список «Товар в продукте», поэтому, когда пользователь щелкает элемент в первом списке (Продукт). Второй ListBox покажет список товаров в выбранных продуктах.Получение индекса для нескольких выбранных элементов в ListBox в C#

например:

Products  Items in Proucts 
    AA*     1 
    BB     2 
    CC     3 

в примере выше текущих выбранных пользователем продуктов типа АА. И 1,2,3 - предметы в продукте AA.

Для текущей программы, я сделал. Пользователь только может выбрать один «Продукты» за один раз. Затем я хочу, чтобы изменить на мультиплеер. Так что я хочу получить номер индекса для каждого продукта, который пользователь выбирает, затем я могу получить данные из базы данных, чтобы получить «Items In Products» для всех выбранных продуктов.

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

ВыбранныеИндексы должны быть заменены SelectedItems. Пытался предложить редактирование, но рецензент ответил «Это изменение неверно». Подумайте, почему. –

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

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

} 

Это даст вам CSV выбранных идентификаторов

+0

я использую VS 2005. взгляд ListItem свойства нет поддержки Вот. –

+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; 
    } 
Смежные вопросы