データ上で重複を省いたリストを取得する


■データから重複した情報を省いてリスト化する方法を少し、 DBからであれば、グループ化するなり苦労は無いと思うのですが・・・ 一旦、UIへ取ってしまったデータに関しては、それなりに工夫が必要になります。 今回はDataGridView上のデータからリストを取得していますが、 これを応用すれば、DataTableやListViewからでも色々なモノから取得出来るのかと

 Dim strarr As String()
 With DataGridView
  ReDim strarr(.RowCount - 1)
  For i As Integer = 0 To .RowCount - 1
   strarr(i) = .Item("Column", i).Value
  Next
 End With
上記のコードで、変数strarrに目的の情報が格納されます。 これをDistinct一撃で変数strdisに取ることができます。
 Dim strdis As String() = strarr.Distinct().ToArray()
単にカウントだけが欲しい場合は・・・
 Dim intcnt As Integer = strarr.Distinct().ToArray().Length
と、すれば件数を取得することができます。巷には色々な方法がありますが、 個人的には上記の手法が気に入ったので、ご紹介まで、ソースの出所を失念してしまい恐縮ですが ご勘弁いただければと・・・

TOP ▲