在一个form上输入查询条件,然后确定打开另一个form,用datagridview显示查询结果这个怎么弄,请教,谢谢

解决方案 »

  1.   

    不可以,直接在这个FORM上显示查询结果吗?如果一定要传值也可以。在FORM2上定义一个静态变量COMMAND存储查询条件。
    在FORM1上输入一个查询条件,电击确定,为FORM2上的COMMAND赋值 同时 调出 FORM2窗口。
    在FORM2窗口的LOAD事件中写查询并显示结果的方法。搞定。
      

  2.   

    在你的另一个Form(比如是Form2)加一个构造函数:private string sql;
    public Form2(string str)
    {
        this.sql= str;
        //然后根据这个传进来的条件查询数据库绑定DataGridView
    }
    然后在Form1要打开这个Form时:Form2 fm = new Form2(textBox1.Text);//textBox1为查询的条件
    fm.Show();大致这样就可以了
      

  3.   


    public class Form1:Form
    {
    //假设这里有个按钮的事件
    void button1_Click(object sender,EventArgs e)
    {
    //把查询条件拼接成字符串
    string strCondition=“。";
    Form2 frmItem=new Form2(strCondition);
    frmItem.Show();
    }
    }public class Form2:Form
    {
    public Form2(string strQueryCondition)
    {
    //根据传过来的查询条件,显示数据就好
    }
    }
    以上是简单的示意,希望你明白我的意思!
      

  4.   

    实现起来是这个样子具体的过程还不太清楚,比如
    点击确定,为FORM2上的COMMAND赋值 同时 调出 FORM2窗口。 调出好弄,传值还没弄过,研究。。
      

  5.   

    ok   谢谢找了个---
    源码在: 
    http://download.csdn.net/source/688828 
    C#Form间传值: 因为不太熟悉窗体间传值,所以自己找了此资料,因为CSND上的很多前辈都发表了类似的贴子,我只是总结了一下,实现出来而已. C#Form间传值现在我所知道的大概分这么几种吧: 1)定义一个全局变量 
    2)用属性来实现 
    3)用构造函数实现传值 
    4)用委托来实现 
    5)设置form控件的属性来实现 源码很短,都实现了基本传值,希望对困惑在Form传值的初学者们有帮助. 
    部分实现参照了[TJVictor的专栏]的一篇关于传值的文章.忘链接了,在此感谢TJVictor.
      

  6.   

    查询条件写成这样string str = @ " sdfsd
                      sdf
                        sdf";这样要好一点把
      

  7.   


    namespace x
    {
    public form1()
    {
        
    }
      dataSet ds = new dataSet();
      SqlConnection con = new SqlConnection("server=.;database=xwh;uid=sa;pwd=7612098");
      con.open();
      SqlDataAdapter da1 = new SqlDataAdapter("select 表名  from chailiao where Table_type ='" + textBox.Text + "'", con);
      da1.Fill(ds);}
    dataSet ds;
    public from2(dataSet ds)
    {
       this.ds = ds;
        dataGridView1.DataSource = ds
    }