如何根据需要自定义打印页的标题(fastreport) ( 积分: 100 )

  • 主题发起人 主题发起人 linuxnc
  • 开始时间 开始时间
L

linuxnc

Unregistered / Unconfirmed
GUEST, unregistred user!
例如,我在调用报表的窗口显示 2005/07/07 的数据,那么执行 Frxreport1.showreport时生成报表,如果在表头也加上 '2005/07/07 的数据' 这一标题呢?
因为我每次打印的内容名称不同,可能会是 2005 /05 月的数据 .所以希望每次打印的标题都能自动更新. 请高手帮助.
 
例如,我在调用报表的窗口显示 2005/07/07 的数据,那么执行 Frxreport1.showreport时生成报表,如果在表头也加上 '2005/07/07 的数据' 这一标题呢?
因为我每次打印的内容名称不同,可能会是 2005 /05 月的数据 .所以希望每次打印的标题都能自动更新. 请高手帮助.
 
其实我是想到一个很笨的方法,但因为太笨了,所以我不想用.
就是: 我先在数据表里定义一个无聊的字段,然后通过程序的需要给它赋值(就是我想要的标题),然后在报表的 reporttitle里面加入该字段,因为没有接上数据库的设置,所以只会显示出一条记录(就是我赋值的那条"标题"记录) 这样我只需要打印报表前 Update一下数据表里面的那个无聊字段的第一个记录值,那么报表里面的标题也随之改变了.
呵呵... 这个方法真的很笨, 绕了很大个圈子啊. 希望高手指点我一下啦.
 
在reporttitle里放一个空的memo1,在表单上放一个Edit(输入日期)
var
t: TfrMemoView;
begin
t := TfrMemoView(frReport1.FindObject(‘Memo1‘));
if t <> nil then
t.Memo.Text := Edit1.Text;
end;
 
同意樓上!
FindObject()!
 
//frxReport1.onBeforePrint
procedure TForm1.frxReport1BeforePrint(Sender: TfrxReportComponent);
begin
if Sender.Name = 'Memo1' then
TfrxMemoView(Sender).Text := Edit1.text;
end;
 
var
FRX_Memo2: TfrxMemoView;
begin
FRX_Memo2 := frxReport1.FindObject('Memo2')as TfrxMemoView;
FRX_Memo2.Text:=edit1.text;
....
end;
 
我试过,只有 1968 这位兄弟的好使, 其他的我都失败了, 可能是我太差了,看不懂吧. 所以只有给他加分了. 谢谢大家关注.
 
后退
顶部