日期:2014-05-18  浏览次数:21303 次

winform,datagridview中选定行的数据转移到另一个窗体的datagridview
winform下, A窗体的datagridview有若干条数据,是从数据库中读取的。现随意选定一行或若干行(没有CHECKBOX列),再点击一个按钮,显示在B窗体的datagridview中,请赐教!  


------解决方案--------------------
对于你来说,就简单点吧,b窗体的grid的modifers属性设置为public,然后a窗体要能访问b的实例,这样可以通过b的实例直接操作b里面的grid,b.datagridview1
这样,就遍历A中表格选中的行的列,逐个添加到b中的grid中就是了
b.datagridview1.Rows.Add(1);增加一行
------解决方案--------------------
探讨
对于你来说,就简单点吧,b窗体的grid的modifers属性设置为public,然后a窗体要能访问b的实例,这样可以通过b的实例直接操作b里面的grid,b.datagridview1
这样,就遍历A中表格选中的行的列,逐个添加到b中的grid中就是了
b.datagridview1.Rows.Add(1);增加一行

------解决方案--------------------
把A窗口的数据打成一个datatable的包,aDt

b窗口开头定义个 public dataTable bDt;

A窗口调用的时候

frmB dlg=new frmB();
dlg.bDt=aDt;
dlg.ShowDialog();

然后在b窗口里面用就是了

------解决方案--------------------
C# code

DataTable tt = new DataTable();
  for (int i = 0; i < dgvEdit.Columns.Count;i++ )
   {
tt.Columns.Add(dgvEdit.Columns[i].HeaderText);//创建一个与datagridview一样列名的datatable
  } 
if (!dgvEdit.CurrentRow.IsNewRow)
                        {
                            int count = dgvEdit.SelectedRows.Count;//选中行的个数
                            for (int i = count - 1; i >= 0; i--)
                            {
                                string strId = "";
                               tt.Rows.add(dgvEdig.SelectedRows[i]);                             
                            }