查找重复项并在新的datagridview中显示 [英] Find duplicats and display in new datagridview
问题描述
我有两个datagridviews:
I have two datagridviews:
DataGridView1:
这是使用以下代码从csv文件生成的:
DataGridView1: This is generated from a csv file with this code:
For Each line As String In System.IO.File.ReadAllLines("C:\path\test.csv")
Form1.DataGriView1.Rows.Add(line.Split(";"))
Next
.csv文件具有以下格式:
The.csv file has this format:
12345; SOME TEXT; 2000000; 12345678901; 2014-07-31;
12345;SOME TEXT;2000000;12345678901;2014-07-31;
23456; SOME TEXT; 2000000; 10987654321; 2014-07-11;
23456;SOME TEXT;2000000;10987654321;2014-07-11;
DataGridView2
这是从具有以下代码的excel文件生成:
DataGridView2 This is generated from an excel file with this code:
Dim MyConnection As System.Data.OleDb.OleDbConnection
Dim DtSet As System.Data.DataSet
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection _
("provider=Microsoft.Jet.OLEDB.4.0; Data Source='C:\Users\path\excel.xls'; Extended Properties=Excel 8.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter _
("select * from [Sheet$]", MyConnection)
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
Form1.DataGridView2.DataSource = DtSet.Tables(0)
MyConnection.Close()
Excel文档有6列,带有标题。
The Excel document has 6 columns, with headers.
我需要查找重复项并在第三个gridview中显示数据。具体来说,我想看看DataGridView1的column1列中的值是否在DataGridView2的polnr列中。如果可以,我希望将DataGridView的整个行复制到DataGridView3
I need to find duplicates and display the data in a third gridview. Specifically, I want to see if the value in column column1 in DataGridView1 are in column polnr in DataGridView2. If it does, I want the entire line from DataGridView copied to DataGridView3
是的,我自己尝试了一下并在整个Internet上进行了搜索。有人可以帮我吗?
Yes, I have tried it myself and searched through the whole internet. Can someone help me?
推荐答案
这应该与dgv 1 + 3不受约束
this should work with dgv 1 + 3 being unbound
Dim rowlist As New ArrayList
Dim dgv3row As New DataGridViewRow
For Each dgv1row As DataGridViewRow In DataGridView1.Rows
For Each dgv2row As DataGridViewRow In DataGridView2.Rows
If dgv1row.Cells("Column1").Value = dgv2row.Cells("polnr").Value Then
For Each dgvcell As DataGridViewCell In dgv1row.Cells
rowlist.Add(dgvcell.Value)
Next
If rowlist.Count > 0 Then
Dim dgv3rowindex As Integer = DataGridView3.Rows.Add()
dgv3row = DataGridView3.Rows(dgv3rowindex)
For Each dgv3cell As DataGridViewCell In dgv3row.Cells
dgv3cell.Value = rowlist(dgv3cell.ColumnIndex)
Next
rowlist.Clear()
End If
End If
Next
Next
这篇关于查找重复项并在新的datagridview中显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!