Thanks! It works, but since I can't "filter" the results by the third column, I only have got a list of the selected items "ID1":
Code:
Dim myTableSummary = (From myRow As DataGridViewRow In dgv2.Rows.Cast(Of DataGridViewRow)() Where Not myRow.IsNewRow AndAlso myRow.Cells(1).Value.ToString.Equals(row1.Cells(1).Value.ToString) Select ID1 = myRow.Cells(1).Value _
                        ).ToList()
                Dim myArrayOfAnonymousTypes() = myTableSummary.ToArray
In fact, my ideia would be to put the desired items of my dgv1 into an array, use .rowfilter in dgv2, put the items for each filter into an dinamic array, and use a comparer method. I have checked the Except method, as follows:

Code:
Dim exceptItems = item1Array.Except(item2array(2))
When I try to cast it, I get an error message: "System.linq.Enumerable+<ExceptIterator>d_99'1[System.Object]" . Why this message? Thanks!