Как идентифицировать subItem в List View в C#?

Есть такая проблема. Заполняется List View через цикл. Потом выбираются выделенные элементы, и делают с ними операции, после завершения операция, надо обновить последнюю ячейку в строке. Вот, как однозначно определить какую строку ты выделил? Просто в C# пару дней пишу, многое не знаю. Как вообще в C# присваивание переменных происходит, в java вообще все отлично там все является указателем, и сохранить ссылку на какой то элемент очень просто, как с этим тут? Есть вариант добавить еще один столбец и записывать туда номера строк, и обратиться к строке в которой есть это значение, но в этом случае придется каждый раз полностью перебирать ListView. Есть ли какой нибудь простой способ однозначно определить выделенную строку.... Дело в том, что после выделения все выделенные строки SelectedListItems сохраняется в отдельную переменную, дабы при работе с выделенными элементами не возникало проблем, что при работе цикла вдруг выделение уберут...
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
vpuhoff
@vpuhoff
Программист в свободное от работы время
у каждого listitem есть поле tag в которое можно писать все что душе угодно, к примеру ID записи (по которому можно однозначно идентифицировать), ID легко генерить через GUID.NewGuid().ToString()
По части "SelectedListItems сохраняется в отдельную переменную" не факт что это поможет, потому как если просто этот массив приравнять к переменной, то переменная примет ссылку на массив, и тем самым при изменении массива изменится и ваша переменная, поэтому если для вас это критично лучше это проверить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Nipheris
@Nipheris Куратор тега C#
> Как вообще в C# присваивание переменных происходит, в java вообще все отлично там все является указателем, и сохранить ссылку на какой то элемент очень просто, как с этим тут?
Читайте про reference-types (типы-ссылки) и value-types (типы-значения) - от этого и зависит семантика присваивания.

О каком ListView речь идет? WPF или WinForms?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы