.net - 如何比较 2 个不同列表视图中的项目
问题描述
我正在尝试通过按下按钮将一个列表视图中的项目与另一个列表视图中的项目进行比较。我想用这台印刷机将所有项目从一个视图转移到另一个视图。但只有在第二个列表视图中尚未准备好的项目。
到目前为止我已经尝试过:
ElseIf Not ListView8.Items.Count = 0 Then
For Each item As ListViewItem In ListView8.Items
For Each item1 As ListViewItem In ListView7.Items
If Not item.Text.Equals(item1.Text) Then
ListView7.Items.Remove(item1)
ListView8.Items.Add(item1)
End If
Next
Next
End If
当我执行此代码时,它匹配每个列表视图中的第一个项目,然后只有一个项目更改然后它们不匹配,并且即使它在第二个视图中已经准备好,也会插入该项目。
解决方案
You can do for example:
Dim newItems = From a In listView1.Items.OfType(Of ListViewItem)
Where (
Aggregate b In listView2.Items.OfType(Of ListViewItem)
Where b.Text.ToLower.Equals(a.Text.ToLower)
Into Count()
) = 0
Select a
newItems.ToList.ForEach(Sub(a)
listView2.Items.Add(DirectCast(a.Clone, ListViewItem))
listView1.Items.Remove(a)
End Sub)
推荐阅读
- javascript - 正则表达式匹配除“DC”之外的所有标点符号
- r-markdown - 当 self_contained = TRUE 时,如何在 bookdown::gitbook 中正确呈现数学方程?
- css - FancyBox 3 全屏图像
- javascript - 如何将多个东西放在本地存储的数组中并挑选出我需要的东西?
- r - 根据 r 中 df1 和 df2 之间的匹配在 df1 中添加一个新列
- javascript - document.scrollingElement.scrollHeight 和 document.body.scrollHeight 有什么区别?
- ios - iOS 14 Firebase 动态链接问题
- maven - 如何在 Maven 发布期间完全跳过单元测试和集成测试准备并使用 Maven 发布插件执行
- java - java中数组中的随机数
- sql - 如何使用HANA存储过程的输入参数中的字段为execute_immediate语句动态生成表名?