不好意思呵,是我没有写清楚,
如何将DataGirdView1窗口中勾选中checkbox多行 添加到另一个窗口DatagridView2中
就上面的代码继续写:
dtable 是Frm1中的变量 上文代码有介绍 自己翻翻
那么,你在Frm2中定义一个属性
//frm2中的属性
public DataTable frm2dtTable
{
get { return dtfrm2Table; }
set { dtfrm2Table = value; }
}
在你点确认按钮时需要将
Frm2 frm2 =new Frm2();
frm2.frm2dtTable =dtable;
//
//Frm2中datagridView1
//
datagridView1.Datasource =Dtfrm2Table;
frm2.ShowDialog();
这样就可以实现你要的效果了。 哥们应该就是这些东西吧。
这里主要是用DataTable 做了一个中间的数据传递,获取第一表中的数据,保存到dtable,然后将数据再传给Frm2中的Frm2dtTable。
如上图所示
错误:
你的代码写错
//这个表自己克隆自己其中的行列依然是自己所拥有的行列
dtable = dtable.Clone(); /*错误的代码*/
正确的写法:
//克隆表 使两个表中的列相等
dt = (dataGridView1.DataSource as DataTable); //这里绑定的数据源是DataTable类型
dtable = dt.Clone();
不好意思呵,是我没有写清楚,
如何将DataGirdView1窗口中勾选中checkbox多行 添加到另一个窗口DatagridView2中
不代明白
追答假设checkbox在第一例,事件大致代码如下。
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if ((bool)dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue == true)
{
dataGridView2.Rows.add(dataGridView1.Rows[e.RowIndex]);//直接写的,你试试这个思路。代码可能有错。
}
else
{
}
}
不好意思呵,是我没有写清楚,
如何将DataGirdView1窗口中勾选中checkbox多行 添加到另一个窗口DatagridView2中
那你 foreach一下dataGridView1.Rows,判断checkbox是true还是false。true的add进去呗。
追问不太明白,能写明白一点,能提供一下代码?