【发布时间】:2018-04-24 05:02:37
【问题描述】:
我有两个数据表
DataTable dt = new DataTable();
DataTable dt1 = new DataTable();
然后我将数据添加到“dt”数据表并将其设置为 datagridview 的源
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("name", typeof(string));
dt.Rows.Add(1, "One");
dt.Rows.Add(2, "Two");
dt.Rows.Add(3, "Three");
dataGridView1.DataSource =dt;
然后我将 dt 复制到 dt1 并清除 dt 中的数据
dt1 = dt.Copy();
dt.Clear();
现在将 dt1 复制回 dt 后,datagrid 丢失了源:
dt = dt1.Copy();
即使 dt 有数据,datagrid 现在什么也没有显示,但是当再次将 datagrid 重新分配给 dt 时,数据会显示出来
dataGridView1.DataSource =dt;
我的问题是为什么 datagrid 在复制后会丢失源,有没有办法从数据表中复制而不重新分配数据源
【问题讨论】:
-
你在
dt = dt1.Copy();之后清除dt1吗? -
不,我不知道,谢谢回复
标签: c# datagridview datatable