我想从一个窗口的 stringgrid中的用双击事件将选中的值赋给另一个窗体的edit控件,不知道这样子可以吗?
我已经试过,可以将在同一个窗体中赋值的,就是不能在两个窗体中赋值
我的程序代码如下:
procedure TfrmSearch.ssgsearchDblClick(Sender: TObject);
var
  iRow: integer;
  MyQuery :TADOQuery;
  SqlCode,str : string;
begin
  irow:=ssgsearch.Selection.Bottom;
  str:=ssgsearch.Cells[3,iRow];
  if frmedit_contract = nil then
    frmedit_contract := Tfrmedit_contract.create(application);
  try
    MyQuery:= TADOQuery.Create(nil);
    with MyQuery do
    try
      Connection := Adocon;
      if Active then Close;
      SQL.Clear;
      SQLCode := ' set rowcount 0 select  a.department_name,b.staff_name,b.contact_phone,b.mobile_phone,'
               + ' b.email,b.staff_kind,c.duty,d.position_name from run..department a,run..staff_base_infor b,run..staff_dy c,run..position d'
               + ' where b.staff_id='+''''+ str+''''
               + ' and b.staff_id=c.staff_id'
               + ' and c.department=a.department'
               + ' and c.post_id=d.position';
      SQL.Add(SQLCode);
      Open;
      if MyQuery.RecordCount = 1 then
      begin
        frmedit_contract.sEdtname.Text:=FieldByName('staff_name').AsString;
        frmedit_contract.sedtstatus.Text:=FieldByName('duty').AsString;
        frmedit_contract.sedt1.Text:=FieldByName('staff_kind').AsString;
        frmedit_contract.sedtphone.Text:=FieldByName('contact_phone').AsString;
        frmedit_contract.sedtdepart.Text:=FieldByName('department_name').AsString;
        frmedit_contract.sedtmoble.Text:=FieldByName('mobile_phone').AsString;
        frmedit_contract.sedtposition.Text:=FieldByName('position_name').AsString;
        frmedit_contract.sedtmail.Text:=FieldByName('email').AsString;
      end;
    except
      MyQuery.Free;
    end;
  finally
    MyQuery.Free;
    close;
  end;
end;
不知道为什么不能将数据库中查出的值过来!郁闷啊!