【发布时间】:2016-10-29 15:42:56
【问题描述】:
我有一个数据网格视图,其中包含我在设计时创建的列。
我现在想以编程方式创建一个与 gridview 中的列相同的数据表。
我尝试了以下代码。
Dim dataTable As New DataTable
For Each col As DataGridViewColumn In dgDocEntries.Columns
dataTable.Columns.Add(col)
Next
这会引发编译错误:DataGridViewColumn 的值无法转换为 DataColumn。显然我尝试过强制转换类型,但没有成功。
我也不能使用数据源属性来克隆/复制,因为我手动设置行。
【问题讨论】:
-
做相反的事情:创建一个包含所需列的 DT,将数据添加到数据表中,然后将其用作数据源 - DGV 将从该列创建列。如果数据不是来自或去往数据库,那么使用 List
数据源可能会更好。 -
@Plutonix 我做不到,因为有时我会根据来自数据库的数据设置数据源。抱歉一开始没有提到它。
-
查看this post,它的作用正好相反:它从 DataTable 创建 DGV 列。您应该能够使用相同的属性来完成反向操作..
-
从 DB 表创建 DT。添加或不添加数据,没关系。
dgv.DataSource = myDT将为您在 dgv 中创建列。
标签: c# vb.net datagridview vb.net-2010