我有一个小的cv数据文件,具有7列,最初是6行。第一列是排名(1-6)。第二列是键。其余列标识键的属性...大小,重量,颜色等。我在datagridview控件中显示第一个csv文件。一个星期后,我通过从新的csv文件向第8列添加新的排名数据来追加datagridview显示,该新的csv文件具有与第一个csv文件(第2列)相同的项(但顺序不同)。但是,第二个csv文件还有一个附加项目,该项目可能是新scv文件的任何行。应该将其与新的键(对于第2列)一起放置在datagridview的第7行中,并将其与其他列的大小,重量,颜色等相关联的值放置在该数据网格中。
我的问题是:如何在不破坏datagridview上已经显示的数据的情况下,将具有新键和相关属性的新项(row7)添加到datagridview控件中?
以下代码可用于使用其键更新相同的项目,但不会使用新的键和关联的数据添加新项目。第一个代码列表用于加载第一个csv文件
Using MR As New TextFieldParser(newFile)
Dim currentRow As String()
MR.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MR.Delimiters = New String() {","}
While Not MR.EndOfData
Try
Dgv1.Rows.Add()
currentRow = MR.ReadFields()
Dgv1(1, rd).Value = currentRow(1)
Dgv1(2, rd).Value = currentRow(2)
Dgv1(3, rd).Value = currentRow(3)
Dgv1(4, rd).Value = currentRow(4)
Dgv1(5, rd).Value = currentRow(5)
Dgv1(6, rd).Value = currentRow(0)
rd += 1
Catch ex As Exception
End Try
End While
End Using
更新按钮代码
Using MR As New TextFieldParser(newFile)
Dim currentRow As String()
MR.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
MR.Delimiters = New String() {","}
While Not MR.EndOfData
Try
currentRow = MR.ReadFields()
For re = 0 To Dgv1.RowCount - 1
If Dgv1(1, re).Value = currentRow(1) Then
Dgv1(7, re).Value = currentRow(0)
End If
Next
Catch ex As Exception
End Try
End While
End Using