Как получить выбранный элемент из списка просмотра Visual C ++. Net - PullRequest
0 голосов
/ 04 мая 2018

У меня есть проект CLR, созданный в visual studio, который использует .NET, и в моей форме у меня есть просмотр списка с заголовком из 2 столбцов: staffName и staffId.

Теперь я хочу получить выбранный элемент каждого столбца и отобразить текст label.

private: System::Void listView1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e) {
  lblStafffName->Text = listView1->SelectedItems[0]->Text;
  lblStaffId->Text = listView1->Items[0]->SubItems[1]->Text;
}

Мой первый выбор элемента работает, но когда я выбираю другой элемент, я получаю необработанную ошибку исключения, которая говорит "InvalidArgument=Value of '0' is not valid for 'index'. Parameter name: index." Если я нажму кнопку «Продолжить», имя персонала изменится, но идентификатор персонала не изменится.

Я считаю, что в моем коде что-то не так, и надеюсь, что кто-то поделится своими знаниями, связанными с этим. Спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Хорошо, я нашел ответ отсюда:

http://www.vbforums.com/showthread.php?753867-RESOLVED-InvalidArgument-Value-of-0-is-not-valid-for-index-Parameter-name-index

Рабочий код:

if (listView1->SelectedItems->Count > 0)
{
   lblStaffName->Text = listView1->SelectedItems[0]->SubItems[0]->Text;
   lblStaffId->Text = listView1->SelectedItems[0]->SubItems[1]->Text;
}
...