2013-03-09 52 views
0

我遍歷vb net中datagridview中的列並將 值傳遞給文本框。我需要能夠過濾掉Cell(4)中的電子郵件,以便爲任何單個客戶沒有重複的電子郵件。從傳遞給文本框的數據集中過濾數據

我不知道如何使用數據集來做到這一點。

EmailTableAdapter.Fill(Me.EmailDataset.Email) 

    Dim r As String = String.Empty 
     For i As Integer = 0 To Me.EmailDataGridView.RowCount - 1 
      r = r & EmailDataGridView.Rows(i).Cells(7).Value.ToString & " - " & EmailDataGridView.Rows(i).Cells(4).Value.ToString & vbNewLine 
     Next 
     TextBox2.Text = (r) 

回答

0

一種方法篩選出在細胞具有重複值的行(4)。將使用電池(4)的值作爲密鑰餡項通過網格行迭代,成字典,然後通過遍歷字典來建立你的「r」字符串。這樣的解決方案看起來像這樣:

EmailTableAdapter.Fill(Me.EmailDataset.Email) 

Dim EmailDict As New Dictionary(Of String, String) 
For i As Integer = 0 To Me.EmailDataGridView.RowCount - 1 
    If Not EmailDict.ContainsKey(EmailDataGridView.Rows(i).Cells(4).Value.ToString) Then 
     EmailDict.Add(EmailDataGridView.Rows(i).Cells(4).Value.ToString, EmailDataGridView.Rows(i).Cells(7).Value.ToString) 
    End If 
Next 

Dim EmailPair As KeyValuePair(Of String, String) 
Dim r As String = String.Empty 
For Each EmailPair In EmailDict 
    r &= EmailPair.Value & " - " & EmailPair.Key & vbNewLine 
Next 

TextBox2.Text = (r) 
相關問題