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

50分求解决两个dataGridView传值的问题
我的情况是这样的:
在Form1里有个dataGridView1...双击某行(任意某行)弹出Form2..在Form2里..有个dataGridView2...这是双击某行(也是任意某行)..将该行的数据写到Form1中dataGridView1中刚刚双击过的那一行...
该怎么实现..
各位大虾看看..
小弟实在是头疼啊...
解决给分50!!!

------解决方案--------------------
你说的是在桌面应用程序还是Web网页里面呢?
在Web网页里面很容易实现这个功能的!
------解决方案--------------------
-_-#,不知道那些省略号给省略给谁的。。。


双击dataGridView1时得到当前行的DataRow,用一个public属性保存,并做为参数传给Form2,Form2用ShowDialog()方式Show出,编辑完关闭Form2,根据返回值执行更新操作

Form2 f2 = new Form2(dr);
if(f2.ShowDialog() == DialogResult.Yes)
{
//更新dataGridView1数据源
}
------解决方案--------------------
路过 帮顶!
------解决方案--------------------
给窗体做一个返回的数据,参数或属性都可以,就是得到双击的那条数据吧。
------解决方案--------------------
Form2 f2 = new Form2(dr);
if(f2.ShowDialog() == DialogResult.Yes)
{
//更新dataGridView1数据源
}


form2 里要加一句
this.DialogResult = DialogResult.Yes
------解决方案--------------------
双击form1中的Datagridview时
Dim frm as new form2
If frm.ShowDialog=DialogResult.Yes then
'修改form1中双击行的值
End If

另外,在form2中双击事件中要加入一句
Me.DialogResult=DialogResult.Yes
------解决方案--------------------
还有另外一种方法,使用AddHandler方法
form2中双击的时候触发出一个Event(如RowDoubleClick),使用AddHandler将其绑定到form1中一个方法(如ModifyRows)上,在ModifyRows中进行修改form1中的双击行的值即可。
------解决方案--------------------
把选中的当前行传递到FORM2

再在FORM2里的DATAGRID里面对选中当前行各列的值进行添加就OK了!