现在有一个delphi窗体 form1,一个edit1输入文本框我在fastreport中报表设计page如何取到delphi 输入文本框的值啊??谢谢 

解决方案 »

  1.   

    可以在报表TfrPage类对象如Page1的OnBeforePrint事件中写代码。
    begin
      Memo1.Lines.Clear;
      Memo1.Lines.Add(Edit1.Text);
    endMemo1为报表中的TfrMemoView类对象。
      

  2.   

    方法至少有两种:
    1.使用FastReport报表参数传递进去
    2.使用给FastReport元件赋值的方法
      

  3.   

    你好请问是在fr文件里写 还是delphi的文件里写?网上有frReport1.findObject( 'memo1 ').memo.text   :=   Edit1.text;但是此处我在delphi文件里写完画红线
    我是在button按钮写的 对吗?
      

  4.   

    是在Page1的OnBeforePrint事件写。
    也可在打印按钮的Click事件写:
    procedure TForm1.btnPrintClick(Sender:TObject);
    var
      frView: TfrView;
     // ......
    begin
     // ......
      frView := frReport.FindObject('Memo1');
      frView.Memo.Text := Edit1.Text;
    //也可以写成:frView.Memo.Clear; frView.Memo.Add(Edit1.Text);
    //......
    end;......
    end.
      

  5.   

    看看fastreport自带的demo,直接写程序把edit值传递到fastreport的field
      

  6.   

    在fastReport的GetValue事件中写:
    if CompareText(VarName,'field')=0 then
       value:= edit1.text;
    这个就OK了,先要在你的报表中建个field的字段,(在报表中用文本车方括号写就行了比如:[field])
      

  7.   

    使用FastReport报表参数传递进去
      

  8.   

    1.在fastreport的GetValue里写
    2.通过FindObject找到控件直接赋值
      

  9.   

    'select '''+edit1.text+''' 元素名称 '
    直接在设计报表的时候拖进来。
      

  10.   

     TfrxMemoView(frxReport1.FindObject('memo1')).Text:='dddd';