我试图获取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
在要添加的第一列上。我已经搜索了这个错误的所有实例,但是唯一的解决方案是&#34;复制数据源&#34;,没有DataSource,这是一个生成的表。我无法找到将DataGridView数据转换为数据源的方法。
我错过了什么?有什么建议吗?
答案 0 :(得分:0)
我最终这样做了:
Dim c As New DataGridViewColumn
c = col.Clone
DataGridView1.Columns.Add(c)
我现在似乎工作正常。