【发布时间】:2014-11-12 11:37:47
【问题描述】:
我遇到了这个问题,因为我希望我的代码能够工作,即使我已经向源代码添加了新列。我的代码根据源的行数添加一行。我的代码缺乏考虑列数的能力。这是我的代码:
For Each srow As datagridviewrow In mytempDG.Rows
dataGridView1.Rows.Add(srow.Cells(0).Value.tostring, srow.Cells(1).Value.tostring, _
& srow.Cells(2).Value.tostring, srow.Cells(3).Value.tostring,srow.Cells(4).Value.tostring, _
& srow.Cells(5).Value.tostring, srow.Cells(6).Value.tostring)
Next
鉴于我有来自 tempDG 的 7 列(顺便说一句,这是我的数据源),上面的代码可以正常工作。但是,如果我又添加了两列(这使它成为 9)怎么办。然后我必须从源代码编辑代码(添加“srow.cells(7).value.tostring, srow.cells(8).value...等”)
我知道如何遍历列,但我不知道如何将其转换为可以由 rows.add 函数读取的数据。这是我迄今为止尝试过的:
Dim finrow As List(Of String)
finrow = New List(Of String)
For Each srow As datagridviewrow In mytempDG.Rows
finrow.clear
For Each scol As DataGridViewColumn In mytempDG.Columns
finrow.add(srow.Cells(scol.Index).Value.ToString)
Next
dataGridView1.Rows.Add(finrow)
Next
如何在使用 rows.add() 函数添加数据之前先创建数据集合?我也可以知道 rows.add() 需要什么样的数据?我假设它是一个值列表(在我的例子中,我使用 List(of String))。
提前谢谢你们,祝你有美好的一天!
【问题讨论】:
标签: vb.net datagridview sharpdevelop