我试图找出如何在渲染后更新ListView中的Object属性。举个例子,假设ListView是DataBound到Employees的集合。每行显示员工的信息。加载表后,我需要说“如果员工姓名= [RON],则将其更改为文本[RONALD]”。
我目前认为我可以在ListView中预览ListViewDataItems,并从那里开始,但我被卡住了。任何帮助,将不胜感激。
foreach(ListViewDataItem entry in lvProjectModeratorEntries.Items)
{
//I need to find the div where the firsName is
//displayed, and run my logic to update it.
}
我还以为我会通过entry.DataItem得到它,但是我被困在那一点。
答案 0 :(得分:1)
听起来您可以在Employee模型上使用INotifyPropertyChanged Interface。在listview项模板中,将文本绑定到要显示的Employee属性。然后,您可以更改您的Employee对象。
答案 1 :(得分:0)
查找Listview中的每个项目,您可以像这样循环
for (int i = 0; i < lvProjectModeratorEntries.Items.Count; i++)
{
int ii = 1;
MessageBox.Show(lvProjectModeratorEntries.Items[i].SubItems[ii].Text);
ii++;
}
答案 2 :(得分:0)
使用您自己的代码:
foreach (ListViewItem item in lvTest.Items)
{
if (item.Text == "John")
item.Text = "John is gone";
}
这应该为你提供如何做事的开始,但我不推荐它。有更优雅和代码可持续的解决方案。您是否考虑过将listview绑定到List并在List中创建所有必要的业务逻辑,而不是实际的视图?