2017-11-05 13 views
0

datagridview1から別の値を選択し、この値をdatagridview2に渡すにはどうすればよいですか?DataGridview1からDistinct値を選択し、vb.netでdatagridview2に渡します。

私はこの画像をアップロードしました。あなたの質問にもっと詳しく調べてもらえますか?

Scenario

私はすでにこのコードを試してみましたが、それは動作していないようです。

Private Sub GetLabandOtherFees() 
     Dim DistinctValues() As String = (From row As DataGridViewRow In dgvSubjectsEnrolled.Rows.Cast(Of DataGridViewRow)() _ 
              Where Not row.IsNewRow _ 
              Select CStr(row.Cells(0).Value)).Distinct.ToArray 

     For Each row As DataGridViewRow In dgvsub.Rows 
      dgvsub.Rows(row.Index).Cells(0).Value = DistinctValues 
     Next 
    End Sub 

ありがとうございました。

+0

データベースがありませんか?なぜあなたはSQLを使用してこれをやっていないのですか? –

答えて

1

これを試してください。

Private Sub GetLabandOtherFees() 
     Dim dic As New Dictionary(Of String, Integer)() 
     Dim cellValue As String = Nothing 
     For i As Integer = 0 To datagridview1.Rows.Count - 1 
      If Not datagridview1.Rows(i).IsNewRow Then 
       cellValue = datagridview1(0, i).Value.ToString() 
       If Not dic.ContainsKey(cellValue) Then 
        dic.Add(cellValue, 1) 
       Else 
        dic(cellValue) += 1 
       End If 
      End If 
     Next 

     Dim sb As New StringBuilder() 
     For Each keyvalue As KeyValuePair(Of String, Integer) In dic 
      sb.AppendLine(String.Format("{0}", keyvalue.Key, keyvalue.Value)) 
     Next 

     For Each row As DataGridViewRow In datagridview2.Rows 
      row.Cells(0).Value = sb.ToString() 
      row.Cells(1).Value = dic.Count.ToString() 
     Next 
    End Sub 
+0

それは動作します!ありがとう! @ディアバール – deitysha

関連する問題