Если вам просто не нужен последний столбец, лучшим решением будет, как я указывал ранее, изменить запрос, чтобы вы могли использовать ключевое слово DISTINCT
.Однако он не будет работать со столбцом «Клиент», так как этот столбец не будет объединен.
Существует другой метод, который, на мой взгляд, не так элегантен, но, тем не менее, эффективен.Вы можете создать новый DataTable, заполнить его без дубликатов и заменить его источником данных вашего DataGridView.
Dim originTable as DataTable = yourDataGridView.DataSource
Dim destinationTable As New DataTable
destinationTable.Columns.Add("Type", GetType(String))
destinationTable.Columns.Add("Length", GetType(Integer))
For Each row As DataRow In originTable.Rows
Dim duplicates() As DataRow = destinationTable.Select("Type = " & row("Type").ToString & " AND Length = " & row("Length").ToString)
If duplicates.Length = 0 Then
destinationTable.Rows.Add(row("Type").ToString, row("Length"))
End If
Next
yourDataGridView.DataSource = destinationTable
Я не смог протестировать его в спешке, поэтому, пожалуйста, рассмотрите его как предложение, котороеможет потребоваться некоторая настройка, чем решение, как есть.Надеюсь, это поможет!