有一个DBGRID,我想用鼠标点击选择DBGRID中某条记录,然后通过鼠标双击这一条的记录,触发事件打开另一个窗口(即窗口中的字段信息是这条记录的字段信息),恳请各位帮帮忙!

解决方案 »

  1.   

    用鼠标点击选择DBGRID中某条记录时,DBGRID所连接的DataSet此时也是指向该条记录所对应的数据库中的相应记录的,所以直接操作DataSet就可以了。
      

  2.   

    比如说连接的DataSet为dst,则
    dst.fieldbyname('fieldname').asstirng取出的就是这条记录的fieldname字段的值。你自己试试看。
      

  3.   

    通过双击DBGRID中某条记录,记录有字段1,字段2
    触发事件,调用打开另个窗口frmModify
      if not Assigned(frmModify) then
        Application.CreateForm(TfrmModify,frmModify);
      frmModify.ShowModal;而frmModify窗口中有datasource和2个TDBEdit,分别想对应上DBGRID中的字段1和字段2,TDBEDit1联接字段1,TDBEDit2联接字段2,
    即如何将DBGRID的数据传送到frmModify窗口的TDBEDIT中?
    在线等!谢谢各位!!
      

  4.   

    其实就和我刚才回答的一样道理,你让frmModify中的datasource与DBGRID都指向一个TADODataSet或者其他的控件就可以了。
      

  5.   

    OnDbClick事件:
        if not Assigned(frmModify) then
           begin
              Application.CreateForm(TfrmModify,frmModify);
              frmModify.DBEdit1.DataSource:=DataSource1;//指向数据源
              frmModify.DBEdit2.DataSource:=DataSource1;
              frmModify.DBEdit1.DataField:=ADOQuery1.Fields[0].FieldName;//指向字段
              frmModify.DBEdit2.DataField:=ADOQuery1.Fields[1].FieldName;
              frmModify.ShowModal;
           end;
      

  6.   

    在OnDblClick事件中填写代码就是了!