要求:fastreport做分页报表:每页显示5条,不够用空行补,每页有小计,最后一页合计
1.我加了一个页头(Band1),一个主项数据(Band2),一个子(Child1):用于放小计,一个子(Chid2):用于补空行,
一个子(Child3):用于放制单人,制单时间
2.我在主项数据的OnBeforePrint中写
begin
ShowBand(Child1);
ShowBand(Child3);
end
为啥只显示Child1;如果写成:
begin
ShowBand(Child3);
ShowBand(Child1);
end
又只能显示Child3,为啥不能同时显示呢
1.我加了一个页头(Band1),一个主项数据(Band2),一个子(Child1):用于放小计,一个子(Chid2):用于补空行,
一个子(Child3):用于放制单人,制单时间
2.我在主项数据的OnBeforePrint中写
begin
ShowBand(Child1);
ShowBand(Child3);
end
为啥只显示Child1;如果写成:
begin
ShowBand(Child3);
ShowBand(Child1);
end
又只能显示Child3,为啥不能同时显示呢
解决方案 »
- delphi 数据转换问题
- 重装操作系统后,delphi6编译慢了很多,怎么解决?
- 象这种情况,如何快速排序?
- 急:如何调用dll形式的com接口?
- 有谁能看懂这个函数吗 function auto_init(port: smallint;baud:longint): longint; stdcall;far;external 'MWIC_32.DLL' name 'auto_in
- 定义变量编译不过去呀
- 帮帮忙……应该很容易的送分啦
- 大家发表发表意见,对borland公司的这种做法怎么看
- ============最近被这个问题搞得很狼狈================
- 元件数组
- 549怎么没更新了?
- 调用DLL出现严重问题,请教各位~~在线等待答案,,立即结帖!!
那只能说明你第二个ShowBand没有被执行;
你可以把他改成模式的
可能是你用'ShowBand(Child1)后
程序的焦点不在下面了
而是直接转到Child上了
不知道这样说 你明白了没?
我以前也遇到过类似的问题
有没有哪位兄弟有做好的demo
2.我通过修改fastreport的源码,在其中增加转换金额大小写的函数,按如下步骤:
1)、打开FR目录下的fr_Calss.pas文件,然后找到
constructor TfrStdFunctionLibrary.Create
看到一个个系统原带函数名称没? 看到了就依样写上一句 Add('AMTINWORD');
然后往下快到End附近的时候,看到添加入口的语句没?
加上一句
AddFunctionDesc('AMTINWORD', '金额大写', 'AmtInWord(<Number>)/返回金额的中文大写.');
这样到时在报表设计器里面就可以看到 有一个金额大写的分类,里面有AMTINWORD函数。2)、找到procedure TfrStdFunctionLibrary.DoFunction(FNo: Integer; p1, p2, p3: Variant;
var val: Variant); 过程在 Case语句里面加上一句,注意,语句的CASE入口“22” 是 上面的 Add('AMTINWORD')的ItemIndex号码,从0开始数数看,是不是22,否则改成正确的。
22: Val := AmtInCnWord(frParser.Calc(p1)); 3)、在FR_Utils.pas单元中添加上下面的函数,函数的内容随便你写了。Function AmtInWord(Num:Double):String;
按照如此步骤可以实现转换大小写,可在fastreport的函数中并没有出现我的函数,但可以用,这是为何