您可以使用一个ListViewItem构造函数接受数组串(其中第一后元素是子项)
假设你的类有属性LastName
和Name
ListView.Items.AddRange(ListData.Where(i =>
string.IsNullOrEmpty(searchBox.Text)
|| i.ID.StartsWith(searchBox.Text))
.Select(c => new ListViewItem // this part
(
new string[]{c.ID, c.Name, c.LastName}
)).ToArray());
如果单一的ListViewItem的创建变得更加复杂,可以考虑使用一个函数,:
ListView.Items.AddRange(ListData.Where(i =>
string.IsNullOrEmpty(searchBox.Text)
|| i.ID.StartsWith(searchBox.Text))
.Select(c => CreateListViewItemFromElement(c)).ToArray());
private ListViewItem CreateListViewItemFromElement(MyClass element)
{
// handle the element to create a "complete" ListViewItem with subitems
ListViewItem item = new ListViewItem(c.ID);
....
return item;
}
(实际上,我会用后者在任何情况下,它更可读我)
删除从现场开始一段时间的LINQ,然后回答自己“我应该怎么做才能将ListViewItem添加到我的ListView中,同时填充Column name和LastName?” –
那么,第一列是一个项目,下一列是从这个项目的子项目。 – yerpy