在一个窗口中做数据库查询,要显示在另外一个窗口中。应该要怎么做?
是个应用程序。

解决方案 »

  1.   

    方法一:
    如果你查询的结果是个DataSet对象,那么在初始化显示窗体的时候,把DataSet对象传递过去即可。方法二:
    把需要查询的语句传递过去,即在初始化显示窗体的时候。大致代码如下:// Change your open-window constructor
    public yourOpenWin( string strQuery )// or use "ref DataSet ds" as constructor parameter
    {
       // Save parameter as private member
    }
      

  2.   

    form2的datagrid设为public
    就可以在form1中引用了
      

  3.   

    如果是自定义参数,直接在定义时设置为public即可;如果是窗体控件,比如textbox1 ,那么首先把它的Modifiers属性设置为public,然后在第一个窗体Form1的事件[比如“查询按钮”单击事件]里写:
    //--------------------------------------------------------------
     private void button1_Click(object sender, EventArgs e)
            {
                Form fm2 = new Form2();
                fm2.Owner = this;
                fm2.ShowDialog();
            }
    //---------------------------------------------------------------
    在弹出窗体Form2的 Load事件中写:
    {
                Form1 p = (Form1)this.Owner;            string sqlPrama=p.textbox1.Text;
                //-------
                //你的查询数据库和邦定查询结果到DataGrid的代码
                //-------
    }
    //---------------------------------
    不知道你是不是要这个,说白了就是窗体间传值。还有一种方法就是使用缓存,先把Form1需要的数据缓存,在Form2中需要用到数据的时候取缓存即可。初学者,说错了欢迎指教。