c#2008+SQL2000,winform的
说明:在MDI窗体中打开一个页面(比如人员信息),然后单击工具栏中的查找,跳出一个查找页面让用户设置查找条件,设置好后点击查询,查询页面消失,人员信息页面显示出符合条件的记录:
主要代码如下:
private void s_FindRecord()
        {
            P_frmQuery QueryFrm = new P_frmQuery("人员信息");//this);
            QueryFrm.Show();               //打开查询页面            str_Condition = QueryFrm.strSql;   //返回查询条件组合好后的查询语句,赋值给本页面的查询值
            s_formatstring();                  //进入查询方法
            Txtform.Text = M_strID;
        }        public void s_formatstring()
        {               //************打开人员列表******************            string Sqlstr = "SELECT TOP 100 PERCENT a.AutoID, a.时间, a.Creator, a.CreateDate FROM dbo.AC_Employees a INNER JOIN dbo.AT_Market b ON a.分店名称 = b.Code " + str_Condition  + " ORDER BY a.AutoID DESC";
            DataSet myDset = conn.ConnDset(Sqlstr, Str_Table);
            DataGV.DataSource = myDset.Tables[0];
            //txt_Number.Text = DateTime.Now;
            str_Condition ="";
            //***********初始化组合框控件comboxBind
        }        注:已经定义str_Condition是本页面的全局函数,一般情况下为空
        现在的问题是,系统在QueryFrm.Show();后不会自动停下来,而是继续执行,一直到执行完Txtform.Text = M_strID;后才开始执行P_frmQuery QueryFrm = new P_frmQuery("人员信息");//this);这一句,然后显示出查询页面
请教各位达人,这个功能改怎么写呢,请给出思路,能给出具体点的代码更好。
附加说明一点,这个P_frmQuery查询页面不是MDI窗体的子窗体,它是独立的公共的窗体,任何一个他的页面只要有查询功能的就能调用这个查询页面,先谢谢大家乐

解决方案 »

  1.   

    我也曾试图通过在查询页面添加这样的代码来返回给人员信息页面:
     strWhere = strWhere + "  " + DataGV.Rows[i].Cells[3].Value +"  ";
     Frm_Employee frmE = (Frm_Employee)this.Owner;
     frmE.s_formatstring(); frmE.sqlstr = strWhere;
     frmE.s_formatstring();但是FrmE是null,this.Owner也是null
    这是为什么啊
      

  2.   

    >>Fibona你说的这个是Web吧,我是用winform开发的,跟你的不一样的。