偶初用delphi,现在想在dbgrid里面实现如下功能
单击dbgrid1里的任意一行,然后获得这一行的行号,作为一个参数传递给下一个窗口中的dbgrid2
两个dbgrid显示同一张表,只是显示风格不一样而已,dbgrid1是网格现实,dbgrid2是自由格式现实。
在线等,谢谢了

解决方案 »

  1.   

    sorry,不是dbgrid2,是在另外一个panel里面按照自由格式布局的一些dbedit,和dbgrid现实的数据源于一张表。
      

  2.   

    呵呵,很简单啊啊你将这两个DBGrid的dataSource连接到一个Table或者query,连代码都不用写!
      

  3.   

    连上同一个数据源后,把每个dbedit的具体的字段连上就可以啦
      

  4.   

    我做过一个这样是东西,就是在form1中有一个dbgrid,当我双击dbgrid时候,就会弹出form2
    在form2中详细的显示这条记录的明细信息,代码给你吧//第一个窗口的dbgrid的双击事件
    procedure TForm_chaxun.DBGrid1DblClick(Sender: TObject);
    begin  //如果查询的结果不为空,当双击选中项时,显示“支付窗口”
     if query1.RecordCount<>0 then
         form_zhifu.show
     else
        showmessage('没有找到相关的记录!');
    end;
    //第二个窗口的active事件
    procedure TForm_zhifu.FormActivate(Sender: TObject);
    begin//将父窗口中数据表中的记录传递给该窗口
      edit_no.Text:=form_chaxun.dbgrid1.fields[0].asstring;
      edit_guke.Text:=form_chaxun.dbgrid1.fields[1].asstring;
      edit_date.text:=form_chaxun.dbgrid1.fields[2].asstring;
      edit_huowu.Text:=form_chaxun.dbgrid1.fields[3].asstring;
      edit_danjia.Text:=form_chaxun.dbgrid1.fields[4].asstring;
      edit_shuliang.Text:=form_chaxun.dbgrid1.fields[5].asstring;
      edit_zongji.Text:=form_chaxun.dbgrid1.fields[6].asstring;
      edit_zhekou.Text:=form_chaxun.dbgrid1.fields[7].asstring;
      edit_yingfu.Text:=form_chaxun.dbgrid1.fields[8].asstring;
      edit_yifu.Text:=form_chaxun.dbgrid1.fields[9].asstring;
      edit_haiqian.Text:=form_chaxun.dbgrid1.fields[10].asstring;
    end;很爽的,当你在form1的dbgrid中用鼠标对着哪条记录双击,在form2中就会显示该记录的信息
    不妨用着看看。
      

  5.   

    呵呵,就是wojiaoliufeng(木喜) 老兄的这个功能。谢谢了