我在试着拿一份DataGridView的拷贝。
Public Sub CopyDataView(ByVal inGrid As DataGridView,
ByVal inPrintHiddenCols As Boolean)
DataGridView1 = inGrid然后,我更改DataGridView1的配置,然后执行以下操作:
DataGridView1.Refresh()
DataGridView1.Visible = True我遇到的问题是在DataGridView1上完成的,并且只有原始网格被更改和刷新。尽管原始网格是通过ByVal传递的,但这仍然是事实。
我试着逐列、逐列、逐行地处理传递的网格,但得到了错误
"Provided column already belongs to the DataGridView control"DataGridView1已初始化
Cursor.Current = Cursors.WaitCursor
Try
DataGridView1.Columns.Clear()
DataGridView1.Rows.Clear()
DataGridView1.AutoSize = True
DataGridView1.AutoGenerateColumns = False
DataGridView1.RowHeadersVisible = False
For Each col As DataGridViewColumn In inGrid.Columns
If col.Width = 0 Or _
col.Displayed = False And _
Not (inPrintHiddenCols) Then
SkipCells.Add(col.Index)
Else
Dim c As New DataGridViewColumn
c = col
DataGridView1.Columns.Add(c) ' <----------------------
ColWidth_CSV.Add(modFunctions.GetWidthOfText(col.Width, f))
End If
Next在要添加的第一列上。我已经搜索了这个错误的所有实例,但唯一的解决方案是“复制DataSource",没有DataSource,这是一个生成的表。我也找不到将DataGridView数据转换为DataSource的方法。
我遗漏了什么?有什么建议吗?
发布于 2014-11-13 23:04:21
我最终这样做了:
Dim c As New DataGridViewColumn
c = col.Clone
DataGridView1.Columns.Add(c)我现在似乎工作得很好。
https://stackoverflow.com/questions/26907392
复制相似问题