问题描述
我有两个窗体,其中form1中有DataGrid控件,我向让form2中输入信息后点击查询按钮之后,我想让form1中的DataGrid控件立即显示出查询结果来。代码怎么写。我发现传值是个问题!解决一下
解决方案
解决方案二:
form1.cs点击{Formform2=newForm2(this);form2.showd...();}publicvoid过滤(参数){}form2.csForm1parentForm;publicForm2(Form1frm){parentForm=frm;}过滤{parentForm.过滤(参数);}比较简单遥方法
解决方案三:
form2中定义一个属性就是了,通过这个属性就可以将查询获得的数据集返回给form1。
解决方案四:
没看懂,1楼的,2楼的能具体点吗?谢谢啦!
解决方案五:
classForm2:Form{...privateDataSetm_ds;...publicDataSetData{get{returnm_ds;}}//在某处填充此DataSet}
然后在Form1某处:Form2form2=newForm2();form2.ShowDialog();DataSetds=form2.Data;...
可以使用了。
解决方案六:
用事件委托可以么呵呵提个小小建议
解决方案七:
该回复于2008-04-01 08:48:38被版主删除
解决方案八:
方法一:publicstatic级别变量或属性方法二:构造函数传递参数;
解决方案九:
又见此帖form2并不需要返回一个DataSet,只需要返回一个变量,在Form2关闭的时候,Fomr1得到这个变量,根据这个变量去查询。namespaceReadFile{publicpartialclassForm2:Form{publicForm2(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Form3fm=newForm3();fm._val=this.textBox1.Text;if(fm.ShowDialog()==DialogResult.OK){this.textBox1.Text=fm._val;}}}}namespaceReadFile{publicpartialclassForm3:Form{//定义一个属性publicstring_val;publicstringval{get{return_val;}set{_val=value;}}publicForm3(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){_val=this.textBox1.Text;this.DialogResult=DialogResult.OK;this.Hide();}privatevoidForm3_Load(objectsender,EventArgse){this.textBox1.Text=_val;}}
解决方案十:
怎么还弄个Form3啊,搞糊涂啦!
解决方案十一:
这个比较简单定义一个构造体或者一个公共的变量窗体用ShowDialog()方法打开传过来,接着执行就可以了
解决方案十二:
就是8楼说的,传的不是数据,而应该是查询条件,弄个什么东西把查询条件封装一下就行了(我向来就直接把Where后面的语句返回回来,呵呵)
解决方案十三:
看来楼主又不会结贴了。我现在蛮怕给一个三角的人回答问题
解决方案十四:
这种传值问题已经有好几个了,我还以为这是我以前看到的帖子呢。。简单点的可以用属性传就可以了
解决方案十五:
Windows窗体间的数据交互http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx窗体的参数传递http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5
解决方案:
publicform2(DataRowdr){获取dr的各字段值,填充控件}publicvoidOpenForm2(DataRowdr)//dr是你选择的数据行{form2myform=newform2(dr);myform.show();}