为何这么简单的操作都会出错
有两个datagridview,想把其中一个当前选项的行,添加到另一个datagridview中
int i = dataGridView2.CurrentRow.Index;
DataRow dr = dt.NewRow();
string userid = dataGridView2.CurrentRow.Cells[0].Value.ToString();
string name = dataGridView2.CurrentRow.Cells[1].Value.ToString();
dr[ "UserID "] = userid;
drr[ "Name "] = name;
dt2.Rows.Add(dr);//这里报错,该行已属于另一个表
dataGridView1.DataSource = dt2;
请给分求助!!
------解决方案--------------------当然会出错了,错误不是很明显吗,它是dt的行,怎么能再往dt2里面添加呢?
那你为什么步DataRow dr = dt2.NewRow()
这样就不会错了啊,^_^
------解决方案--------------------新建一个dataTable dt3,一个CurrencyManager cmOrders;
this.cmOrders = (CurrencyManager)BindingContext[this.dataSet11,dt2];//设置CurrencyManager需要管理的列表
dt3 = dt2.clone;//复制dt2的架构
dataGridView2.DataSource = dt3;//绑定数据
dt3.ImportRow(cmOrders.Position);//导入当前选定行
------解决方案--------------------要往dt2里加行, 必须要用dt2.newrow() 创建, 把第一个行的各列值赋过来给这个行, 就可以插入了.
------解决方案--------------------DataRow dr = dt.NewRow();
应写成 DataRow dr = dt2.NewRow(); 就可以了