form1中有个查询按钮,点击弹出另外一块面板form2,里面可以按编号 姓名进行查询,如果我要把查询出来的结果放在form1的datagridview中,请问怎么实现?最好说详细点 谢谢了

解决方案 »

  1.   

    将form1中的datagridview做为一个对象传给form2,
    先占个位,马上回来详细说明.
      

  2.   

    winform就直接点,做个全局静态类,想怎么就怎么样。。传来传去的多麻烦
      

  3.   

    //在form2中声明一个DataGridView对象private DataGridView dvg = null;
    //重载form2构造方法,它接收一个DataGridView对象作为参数
    public Form2(DataGridView d)
    {
       this.dvg = d;//初始化在form2中声明的DataGridView对象
    }
    //给dvg对象绑定数据后就达到了LZ的效果.//在from1中打开form2时:Form2 f2 = new Form2(此出写上在form1中所拖出来的DataGridView对象);
      

  4.   

    个人感觉你得重新new 一个Form1
    原来的Form1关掉,可以通过Form1的构造或者属性来传递
      

  5.   

    不对噢...这样点出来的面板是个空白的,form2里面的数据都没了
      

  6.   

    就是界面之间传值
    要么你就给form1的构造函数设置参数 用datatable传 或者form2中定义静态公共变量 form1可以取道
      

  7.   

    把查出来的值放到一个类库里面`  然后再调到form1
      

  8.   

    全局变量应该可以的,
    public form1里的datagridview控件,
    在form2里,
    form1 f = new form1();
    f.datagridview = ......;楼主可以试一下!!!
      

  9.   

    Form1:private void button1_Click(object sender, System.EventArgs e)
            {
                Form2 frm = new Form2();
                frm.ShowDialog();
                string strWhre = frm.strWhere;//strWhere是Form2中生成的Where条件组合语句
                               ..........................................
                            执行查询条件,刷新datagridview过程             
                frm.Dispose();
            }Form2:public string strWhere; //定义一个全局变量,用于存放Form2中的生成的Where查询条件private void button1_Click(object sender, System.EventArgs e)//查询按钮事件
            {
                 ............................
                         //生成where查询条件过程
                            
                            strWhere = "最终生成的查询条件";
                         this.close();//关闭Form2窗体
            }