Получение индекса для нескольких выбранных элементов в ListBox в С#

У меня есть два списка ListBox. Первые ListBox позиции - это список "Товары". а вторые ListBox элементы представляют собой список «Элемент в продукте», поэтому, когда пользователь щелкает элемент в первом (продукт) списке, второй ListBox покажет список элементов в выбранных продуктах.

eg:

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.
}

person Qusyaire Ezwan    schedule 22.06.2012    source источник


Ответы (2)


я уже получаю ответ:

 if (productListBox.SelectedItems.Count >= 0)
 {
    for (int i = 0; i < productListBox.SelectedItems.Count; i++)
       {
            MessageBox.Show(productListBox.SelectedIndices[i].ToString());
       }
  }
person Qusyaire Ezwan    schedule 22.06.2012
comment
SelectedIndices следует заменить на SelectedItems. Пытался предложить исправление, но рецензент ответил, что это исправление неверно. Поди пойми почему. - person P-L; 12.07.2012

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

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

}

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

person yogi    schedule 22.06.2012
comment
я использую VS 2005. посмотрите, свойства ListItem здесь не поддерживаются. - person Qusyaire Ezwan; 22.06.2012
comment
Есть ListViewItem :). MSDN - person dvvrd; 22.06.2012
comment
Ok. На самом деле вы не упомянули здесь сеть или окна, я думал, вы спрашиваете о сети (asp.net). - person yogi; 22.06.2012
comment
Пытался исправить опечатки, но получил отказ, когда переименовал SelectedItmes в SelectedItems. - person P-L; 12.07.2012