在ListView中更新项属性

时间:2013-12-19 18:26:32

标签: c# .net listview

我试图找出如何在渲染后更新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得到它,但是我被困在那一点。

3 个答案:

答案 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中创建所有必要的业务逻辑,而不是实际的视图?