fastreport 交互式报表的问题。请高手帮忙 简单的说就是在preview的code 里用代码获得某一 masterdata band 里的memo的具体数值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 具体情况是小弟最近在使用fastreport 3.23.7 for d7 开发简单的报表报表是交互式的,就是说要用户在preview的报表上输入数据然后再在程序里处理用户输入数据就用Memo.OnPreviewClick 来实现procedure Memo6OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);begin TfrxMemoView(Sender).Text := InputBox('Edit', '修改:', '0'); Modified := True;end;现在问题来了,用户输入数据后把preview窗口关了的话是没有对应的类似 OnPreviewClose 的事件的,所以在delphi的主程序里是获得不了用户输入的数据的,因为窗口一关就什么都没了而且在fastreport里的code页里是没有相关的exportToFile的函数的我的想法是这样的,建立一个adoQuery,动态的写sql把用户每次输入的数据都更新到数据库里,类似这样:procedure Memo6OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);begin TfrxMemoView(Sender).Text := InputBox('Edit', '修改:', '0'); Modified := True; adoQuery1.SQL:='insert into temp values('','','','')'; adoQuery1.execute;end;小弟在这里卡住了,因为让用户输入的memo是 [frxDBDataset1."科室"],也就是说这个memo本身就是从数据库里获得的默认值,而不是单一的一个memo,那请问如何才能在fastreport 的code里用程序获得用户输入对应的某个行的memo的具体值呢不知道说清楚没有。 用quickreport 或者 rave 可以解决这个问题吗 比如你要程序查到报表memo1里面的内容可以这样写edit1.text:=frreport1.findobject('memo1').memo.text; 不行的。。这样就是显示的是[frxDBDataset1."科室"], 而我要的是具体数值不过还是谢谢了,我已经找到替代的方法了,就是自己填加Userfuction 在自己的function里用frxReport1.PreviewPages.SaveToFile('temp.fp3');在每次用户输入后保存到临时文件,再在showreport的窗口被关闭后调用其他程序对temp.fp3进行分析操作,当然了。。fp3是xml格式的。虽然ie打不开。。ok, 一个delphi写的视频播放器,怎么在另一个程序里得到它的实时播放时间 DBGrid问题(在线等待!) 请问Excelworksheet控件是作什么用的,怎么用? WebBrowser中如何得到下载链接 fastReport问题? 谢谢 帮忙给几个(关机注销锁定的语句DELPHI) 注册表的问题--请进 如果把Delphi应用做成NT下的一个服务程序? 太气愤了,请您来评评理~~~ TDBGrid的数据怎样导到*.TXT或*.XLS文件去? 代码实现数据插入 A眉眉 or B眉眉
用户输入数据就用Memo.OnPreviewClick 来实现
procedure Memo6OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
begin
TfrxMemoView(Sender).Text := InputBox('Edit', '修改:', '0');
Modified := True;
end;现在问题来了,用户输入数据后把preview窗口关了的话是没有对应的类似 OnPreviewClose 的事件的,所以在delphi的主程序里是获得不了用户输入的数据的,因为窗口一关就什么都没了而且在fastreport里的code页里是没有相关的exportToFile的函数的我的想法是这样的,建立一个adoQuery,动态的写sql把用户每次输入的数据都更新到数据库里,类似这样:procedure Memo6OnPreviewClick(Sender: TfrxView; Button: TMouseButton; Shift: Integer; var Modified: Boolean);
begin
TfrxMemoView(Sender).Text := InputBox('Edit', '修改:', '0');
Modified := True;
adoQuery1.SQL:='insert into temp values('','','','')';
adoQuery1.execute;
end;
小弟在这里卡住了,因为让用户输入的memo是 [frxDBDataset1."科室"],也就是说这个memo本身就是从数据库里获得的默认值,而不是单一的一个memo,那请问如何才能在fastreport 的code里用程序获得用户输入对应的某个行的memo的具体值呢
不知道说清楚没有。
edit1.text:=frreport1.findobject('memo1').memo.text;
不过还是谢谢了,我已经找到替代的方法了,
就是自己填加Userfuction 在自己的function里用frxReport1.PreviewPages.SaveToFile('temp.fp3');在每次用户输入后保存到临时文件,
再在showreport的窗口被关闭后调用其他程序对temp.fp3进行分析操作,
当然了。。fp3是xml格式的。虽然ie打不开。。
ok,