我正在开发一个应用程序,用户在其中输入信息,然后将其添加到列表视图中。这很好用。唯一的问题是,应用程序连接到一个网站,该网站会为每个帐户更新该列表视图中的“积分”字段。我不确定如何更新列表视图中的单个子项。
这是一个示例屏幕截图:
如何选择特定行中的特定子项进行更新?
好的,我将假设 Windows 窗体。
WinForms 的 ListViewItem 类有一个Name属性,您可以使用它来查找列表中的特定项目。因此,当您填充列表时,为每个名称分配一个唯一值:
var item = new ListViewItem("Text");
item.Name = "foo"; // some unique id string
listView1.Items.Add(item);
这样您就可以稍后使用它的Items.Find方法在 ListView 中找到该项目。
var fooItem = listView1.Items.Find("foo", false);
为了扩展马特的答案,看起来每一行都有一个唯一的电子邮件地址,因此您可以将其分配Name
为每个 ListViewItem 的属性。使用该Find
方法找到要更新的行后,您可以像这样更新该行的点:
fooItem.SubItems[2] = "450";