【发布时间】:2012-01-05 14:31:34
【问题描述】:
我必须将一个 datagridview 复制到另一个,以便在后台工作线程中迭代它,创建一个 excel 导出。
制作副本是为了允许用户在导出期间对原始数据网格视图进行一些更改。
所以我创建了一个新的 DataGridView(以编程方式),并将原始 DataTable 的副本放入新 DataGridView 的 DataSource 属性中。 但是,我发现如果我不在任何Form的Controls(列表)属性中添加datagridview,RowCount仍然等于0...
谁能解释一下?
注意:DataTable 的副本只是一个带有 copy() 列的新 DataTable。
【问题讨论】:
-
您能否展示定义新
DataGridView的代码,设置DataSource以及检查RowCount的位置。 -
我这里没有代码,但是是这样的:
-
DataGridView 在读取 DataTable 之前可能正在等待一些窗口消息,我对此不确定。出于这样的原因,.Net 中有两个计时器,一个用于窗口窗体,一个用于独立使用......您需要在 DataGridView 中执行哪些您无法使用 DataTable(或它的视图)执行的操作?
-
为什么在这里使用 UI 组件?你为什么要
DataGridView中的数据根本? -
我这里没有代码,但它是这样的: public DataGridView void Copy(DataTable dt) { DataGridView newGV = new DataGridView(); newGV.DataSource = dt.Copy();返回新GV;当我监视返回的对象时,我总是得到一个等于 0 的 RowCount 值。我只需要输入: Form ghostForm = new Form(); ghostForm.Controls.Add(newGV);在 DataSource 设置之前有行。请注意,这里的问题不是“行数”而是没有加载的数据,除非我把前面的代码...
标签: c# forms datagridview datasource rowcount