在form1上有Edit1(只读),Edit的右边有个小按钮,用来弹出一个有DBGrid的窗体,我要做的是把DBGrid的一条记录值赋给form1的Edit.Text里(如可以通过双击等),我不知道代码买怎么写?路过的高手指点一下?

解决方案 »

  1.   

    当然这条记录不止一个字段,如:Edit1.Text=字段1;Edit2.Text=字段2;
      

  2.   

    我是这样的,为什么不行?
    procedure Txuanzechanpinxinghaofm.DBGrid1DblClick(Sender: TObject);
    begin
    xinzengfm.Edit2.Text:=ADODataSet1.FieldByName(DBGrid1.Columns.Items[1].FieldName).AsString;
    xinzengfm.Edit6.Text:=ADODataSet1.FieldByName(DBGrid1.Columns.Items[0].FieldName).AsString;
     Close;
    end;
      

  3.   

    如果ADODataSet1在FORM2,试试
    xinzengfm.Edit6.Text:=Form2.ADODataSet1.FieldByName(DBGrid1.Columns.Items[0].FieldName).AsString;
      

  4.   

    我的xuanzechanpinxinghaofm就是FORM2呀?
    总不会说要:
    xinzengfm.Edit6.Text:=xuanzechanpinxinghaofm.ADODataSet1.FieldByName(DBGrid1.Columns.Items[0].FieldName).AsString;
      

  5.   

    刚才我试过了,没问题:
    uses Unit2;procedure TForm1.DBGrid1DblClick(Sender: TObject);
    begin
      if not Assigned(Form2) then
         Application.CreateForm(TForm2, Form2);
      Form2.Show;
      Form2.Edit2.Text:=ADODataSet1.FieldByName(DBGrid1.Columns.Items[1].FieldName).AsString;
      Form2.Edit1.Text:=ADODataSet1.FieldByName(DBGrid1.Columns.Items[0].FieldName).AsString;
    end;