C # - обновить подэлемент в списке - PullRequest
5 голосов
/ 26 октября 2009

Я работаю над приложением, в котором пользователи вводят информацию, которая затем добавляется в просмотр списка. Это прекрасно работает. Единственная проблема заключается в том, что приложение подключается к веб-сайту, который обновляет поле «Точки» в этом списке для каждой учетной записи. Я не уверен, как я могу обновить один подпункт в просмотре списка.

Вот пример экрана:

alt text

Как выбрать конкретный подпункт в определенной строке для обновления?

Ответы [ 2 ]

5 голосов
/ 26 октября 2009

Хорошо, я предполагаю, что Windows Forms.

Класс WinViewms ListViewItem имеет свойство Имя , которое можно использовать для поиска определенного элемента в списке. Таким образом, при заполнении списка назначьте уникальное значение для имени каждого:

var item = new ListViewItem("Text");
item.Name = "foo"; // some unique id string
listView1.Items.Add(item);

Таким образом, вы можете позже найти элемент в ListView, используя метод Items.Find .

var fooItem = listView1.Items.Find("foo", false);
3 голосов
/ 26 октября 2009

Чтобы развернуть ответ Мэтта, похоже, что каждая строка имеет уникальный адрес электронной почты, поэтому вы можете назначить его как свойство Name для каждого ListViewItem. Как только вы нашли строку для обновления, используя метод Find, вы можете обновить Точки этой строки следующим образом:

fooItem.SubItems[2] = "450";
...