请问能把窗体上edit的TEXT内容输到fastreport吗?(100分)

  • 主题发起人 主题发起人 cndsb
  • 开始时间 开始时间
C

cndsb

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一窗体form1上放了一个edit1,一个frreprot1,
我想问问能不能把edit1.text动态的传到frreprot1的里面去,哪个大侠能快点告诉我,应该怎么实现,最好说具体点我是菜鸟,初次使用fastreport,先谢谢了
 
试试这个
frReport1.FindObject('Memo1').Memo.Text:=edit1.Text;
 
to 寻绎 我的意思是能不能把edit.text传到frreort1的TEXT中?
 
还有一个简单做法,使用自定义数据集。
你加入一个frxUserDataSet1,在里面定义一个字段名称(当然可以有很多):myEdit1
然后你使用自定义数据集的字段值获取的事件,
procedure TForm1.frxUserDataSet1GetValue(const VarName: String;
var Value: Variant);
begin
if VarName='myEdit1' then
Value:=edit1.text;//进行数据传递。
end;
你进行报表设计时,可以随意使用刚才定义的自定义数据集字段:myEdit1.
 
窗体form1,报表FR,edit1,我用的是2.53版本
VAR
MEM2:TFRXMEMOVIEW;
begin
self.fr.Clear;
self.fr.LoadFromFile('D:/aa/fr.frf');
MEM2:=TFRXMEMOVIEW(SELF.fr.FindObject('MEMO1'));
IF MEM2<>NIL then
MEMO1.Text:=edit1.Text;
self.fr.ShowReport;
end;

这样写的时候为什么总提示[Error] Unit1.pas(53): Undeclared identifier: 'TFRXMEMOVIEW'而不能编译
 
frreort1的TEXT中?
那不就是MEMO1吗?我给出的语句是可以达到的,你上面的语句太麻烦了,只所以提示这样的错误,是因为你没有引用到相关的单元。
self.fr.Clear;
self.fr.LoadFromFile('D:/aa/fr.frf');
self.fr.FindObject('Memo1').Memo.Text:=edit1.Text;

self.fr.ShowReport;
这样试试吧
 
to 寻绎,你说的太对了,你的这段代码也完全正确,十分感谢,你能告诉我是少引用了哪个单元吗?
 
to寻绎
能留个联系方式吗?回答了我就结束问题分分了,
 
我也想知到是什么少了什么单元
 
当你打开一个报表文件时候就先用
frReport1.FindObject('Memo1').Memo.Text:=edit1.Text;
当打开报表时自动就显示出edit1.text内容了
 
其实你都可以不用问我的,只要看看FR的安装目录中.../Demos/runtime中的例子,你就可以晓得,这个单元是 FR_Class;
 
我已经引用这个单元了,但是那样确实不行,来的都分点分吧,谢谢大家了
 
后退
顶部