防止列表视图中的行重复

本文关键字:列表 视图 | 更新日期: 2023-09-27 18:27:45

如何防止listview中的行重复?

 ListViewItem item = listView1.FindItemWithText(EmpID.Text);
 if (!listView1.Items.Contains(item))
 {
 listView1.Items.Add(new ListViewItem(new string[] { EmpID.Text, Fname.Text, Lname.Text }));
 }

防止列表视图中的行重复

ListViewItem item = listView1.FindItemWithText(EmpID.Text);
if(item == null){
  listView1.Items.Add(new ListViewItem(new string[] { EmpID.Text, Fname.Text, Lname.Text }));
}

或者你也可以使用IndexOf(),尽管上面的代码更好(我认为是这样):

if(listView1.Items.IndexOf(item) == -1){
  listView1.Items.Add(new ListViewItem(new string[] { EmpID.Text, Fname.Text, Lname.Text }));
}

或者通过一点LINQ:

if(!listView1.Items.OfType<ListViewItem>().Any(x=>x.Text.Equals(EmpID.Text, StringComparison.CurrentCultureIgnoreCase))){
  listView1.Items.Add(new ListViewItem(new string[] { EmpID.Text, Fname.Text, Lname.Text }));
}