首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复制DataGridView

复制DataGridView
EN

Stack Overflow用户
提问于 2014-11-13 19:03:30
回答 1查看 408关注 0票数 0

我在试着拿一份DataGridView的拷贝。

代码语言:javascript
复制
Public Sub CopyDataView(ByVal inGrid As DataGridView,
                        ByVal inPrintHiddenCols As Boolean)
    DataGridView1 = inGrid

然后,我更改DataGridView1的配置,然后执行以下操作:

代码语言:javascript
复制
    DataGridView1.Refresh()
    DataGridView1.Visible = True

我遇到的问题是在DataGridView1上完成的,并且只有原始网格被更改和刷新。尽管原始网格是通过ByVal传递的,但这仍然是事实。

我试着逐列、逐列、逐行地处理传递的网格,但得到了错误

代码语言:javascript
复制
"Provided column already belongs to the DataGridView control"

DataGridView1已初始化

代码语言:javascript
复制
    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的方法。

我遗漏了什么?有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 23:04:21

我最终这样做了:

代码语言:javascript
复制
Dim c As New DataGridViewColumn
c = col.Clone
DataGridView1.Columns.Add(c)

我现在似乎工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26907392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档