c#如何通过列文本防止重复列表视图

时间:2016-12-21 09:42:09

标签: c#

我需要通过列文本防止ListView控制器中的重复条目。如果找到重复,我需要获取ListView项以进一步处理。我看到每个人都说

An.Insert...

但是如何指出ListViewItem item = ListView3.FindItemWithText("test"); if (!listView1.Items.ContainsKey(txt)) { // doesn't exist, add it } ?我确实通过在Column textarray之后添加ID来防止重复。但在这种情况下,我可以找到哪个array value exists重复。

这是我的代码。

entry

1 个答案:

答案 0 :(得分:0)

您可以遍历项目或使用linq查找特定ID并保留结果,而不是循环获取所有ID。这可以在外部函数中完成,或者使用循环替换id部分或使用类似FirstOrDefault的内容:

addingItemID = rd.GetString(0);
ListViewItem existing = listView3.Items.Cast<ListViewItem>().FirstOrDefault(li => li.SubItems[0].Text == addingItemID); //(not sure if the cast is needed)

if (existing != null)
{
    //item exists, variable existing refers to the item
    MessageBox.Show("sdsd");
}
else 
{
    listView3.Items.Add(lvvi);
}