DELPHI 下fastreport打开指定目录中的报表文件怎么写语句
用DELPHI2010下自代的FASTREPORT4报表控件,想实现点击树型控件的一个节点,节点文本是"文件说明",自动以预览显示制作好的一个报表文件(不给出报表编辑器)...
用DELPHI 2010下自代的FASTREPORT 4报表控件,想实现点击树型控件的一个节点,节点文本是"文件说明",自动以预览显示制作好的一个报表文件(不给出报表编辑器),此报表文件保存在DELPHI 工程文件同路径下的REPORT目录中,报表文件名:jieshi.fr3,请指教实现此功能的语句怎么写,谢谢!!!
谢谢回复,你写的语句是要求给出绝对路径,但是我希望用相对路径,假设REPORT目录在此EXE文件同一路径中,该怎么写?
还有,想请教用节点文本和节点序号怎么表示一个树节点被选中的语句. 展开
谢谢回复,你写的语句是要求给出绝对路径,但是我希望用相对路径,假设REPORT目录在此EXE文件同一路径中,该怎么写?
还有,想请教用节点文本和节点序号怎么表示一个树节点被选中的语句. 展开
3个回答
展开全部
1. 单据中有多行数据,但预览时只显示部分内容,或者打印内容行与行之间有间隔
FASTREPOR属性中:设置RowCount=0,Start New Page为False;Stretched为True.
说明:
RowCount:控制总共打印几行;RowCount=0是打印全部;
Start New Page:打印前先跳页;每页打印一行;
Stretch:表身自动伸缩根据表身内容;
2. 在打印中设置金额或数量的小数位数
FASTREPOR属性中:使用DisplayFormat(数据显示格式)——数字——1234.50
%2.0f:以整数形式显示;
%2.2f:显示两位小数;
%2.3f:显示三位小数位,可根据情况进行调整。
3. 在打印中设置日期/时间的格式
FASTREPOR属性中:使用DisplayFormat(数据显示格式)——日期/时间——11.28.2002
mm.dd.yyyy:显示月.日.年
mm.dd:显示月.日
mm:显示两位的月
4. 当栏位的值为零时显示为空
FASTREPOR属性中:设置HideZeros(数字前面的0是否显示)为True
5. 自动换行
1)选择数据单元进行群组;
2)StretchMode为smMaxHtight;WordWrap为True;Stretched为True.
说明:
StretchMode:对象伸缩的行为;
WordWrap:文本是否自动换行;
6. 合计
[SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)]
7. 每页合计
将定义好的合计函数放到‘栏尾’中即可。
8. 全表合计
将定义好的合计函数放到‘报表合计’中即可。
9. 金额大写
在报表设计中使用函数:ConbertNumToChinese()
合计金额大写:[ConvertNumToChinese(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2))]
负数合计金额大写:[ConvertNumToChinese(Abs(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)))]
10. 报表中打印行数
在报表设计中使用变量——系统变量Line#
11. 连打
1) 单据——速查,查出要打印的单据;
2)打印——查询数据——预览——打印,选择多张单据进行连打。
12. 连打打到同一页
打印——设计——页面设置——勾选“打印至前一页”,“伸展至打印区”
13. 打印固定行数,不足补空白行代码(语言:PascalScript)
var
PageLine: integer;
PageMaxRow: integer=5; //每页打印的行数
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRow do begin
i := i + 1;
Engine.ShowBand(Child1); //印空白表格
end;
end;
procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;
begin
end.
FASTREPOR属性中:设置RowCount=0,Start New Page为False;Stretched为True.
说明:
RowCount:控制总共打印几行;RowCount=0是打印全部;
Start New Page:打印前先跳页;每页打印一行;
Stretch:表身自动伸缩根据表身内容;
2. 在打印中设置金额或数量的小数位数
FASTREPOR属性中:使用DisplayFormat(数据显示格式)——数字——1234.50
%2.0f:以整数形式显示;
%2.2f:显示两位小数;
%2.3f:显示三位小数位,可根据情况进行调整。
3. 在打印中设置日期/时间的格式
FASTREPOR属性中:使用DisplayFormat(数据显示格式)——日期/时间——11.28.2002
mm.dd.yyyy:显示月.日.年
mm.dd:显示月.日
mm:显示两位的月
4. 当栏位的值为零时显示为空
FASTREPOR属性中:设置HideZeros(数字前面的0是否显示)为True
5. 自动换行
1)选择数据单元进行群组;
2)StretchMode为smMaxHtight;WordWrap为True;Stretched为True.
说明:
StretchMode:对象伸缩的行为;
WordWrap:文本是否自动换行;
6. 合计
[SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)]
7. 每页合计
将定义好的合计函数放到‘栏尾’中即可。
8. 全表合计
将定义好的合计函数放到‘报表合计’中即可。
9. 金额大写
在报表设计中使用函数:ConbertNumToChinese()
合计金额大写:[ConvertNumToChinese(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2))]
负数合计金额大写:[ConvertNumToChinese(Abs(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)))]
10. 报表中打印行数
在报表设计中使用变量——系统变量Line#
11. 连打
1) 单据——速查,查出要打印的单据;
2)打印——查询数据——预览——打印,选择多张单据进行连打。
12. 连打打到同一页
打印——设计——页面设置——勾选“打印至前一页”,“伸展至打印区”
13. 打印固定行数,不足补空白行代码(语言:PascalScript)
var
PageLine: integer;
PageMaxRow: integer=5; //每页打印的行数
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRow do begin
i := i + 1;
Engine.ShowBand(Child1); //印空白表格
end;
end;
procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;
begin
end.
展开全部
fastreport1.LoadFromFile(程序路径+'\REPORT\jieshi.fr3');
fastreport1.ShowReport;
fastreport1.ShowReport;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相对路径:
frxReport1.LoadFromFile(Extractfilepath(paramstr(0))+'\rpts\zcfzb.fr3');
frxReport1.ShowReport(True);
frxReport1.LoadFromFile(Extractfilepath(paramstr(0))+'\rpts\zcfzb.fr3');
frxReport1.ShowReport(True);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询