假设form1有DbGrid控件,选择其中的一条记录,如何使选择的记录显示在form2上?

解决方案 »

  1.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      edit1.Text:=DBgrid1.SelectedField.AsVariant;
    end;
      

  2.   

    Use Unit2;
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
     //假设FORM已经创建了.
      Form2.edit1.Text:=DBgrid1.SelectedField.AsVariant;
      Form2.show;
    end;
      

  3.   

    这只用edit,但是如果把选定field的整行都般到form2上又要怎么办呢?
      

  4.   

    // 返回行数据,每字段间以空格分开
    function TForm1.AllLine: string;
    var
      i: integer;
      s: string;
    begin
      s := '';
      for i := 0 to DBGrid1.Columns.Count - 1 do
      begin
        s := s + ' ' + DBGrid1.Columns[i].Field.AsString;
      end;
      result := copy(s, 2, length(s));
    end;
      

  5.   

    建议在Form2上也放有个DBGrid,然后在Form1的DBGrid的CellClick事件中将整行都数据都拷贝到Form2的DBGrid中去。
      

  6.   

    这只用edit,但是如果把选定field的整行都般到form2上又要怎么办呢?
    你在form2上uses form1这不就调用form1了么
      

  7.   


    在 TForm1的DBGrid1CellClick事件中写如下代码:  Form2.show;
      Form2.edit1.Text:=DBgrid1.SelectedField.AsVariant;