【发布时间】:2013-11-18 21:13:16
【问题描述】:
我正在尝试从 datagridview 中选择所有行\列,其中第一列使用 LINQ 是唯一的。
数据网格视图:
1 Blue 1111
1 Blue 1111
2 Green 1234
3 Orange 3211
2 Green 1234
4 Red 2222
试图得到这个输出:
1 Blue 1111
2 Green 1234
3 Orange 3211
4 Red 2222
我能够使用以下代码从第一列中提取所有唯一记录,但我不确定如何获取其余列:
Dim unique() As String = (From row As DataGridViewRow In dgvMaestro.Rows.Cast(Of DataGridViewRow)() _
Where Not row.IsNewRow _
Select CStr(row.Cells(0).Value)).Distinct.ToArray
For Each a As String In unique
Debug.Print(a)
Next
输出:
1
2
3
4
谢谢
【问题讨论】:
-
你说的是
Select CStr(row.Cells(0).Value))- 这只会给你第一个元素的值(因此是1,2,3,4)......你可以通过输入Select row返回该行,但是你仍然需要一种方法来输出它...... -
我认为这就是我苦苦挣扎的地方。我仍在尝试熟悉 linq,但我为调用其他列所做的任何更改都会中断查询。如果我只是指定行,那么它不会让我包含不同的。
标签: vb.net linq datagridview distinct