fastreport中如何按照字段数据控制输出行数。 如数据源查询结果 A 3 B 2 出来效果应为 A A A B B

 我来答
bdlifei
2011-07-07 · 超过16用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:17.8万
展开全部
用FASTREPORT 脚本来实现。当检测LINE的值。
追问
大概代码要什么样子呢
追答
FastReport分组打印并且指定每页行数(不足填空行)
var
GPage,GIndex,FGIndex:integer;
PageList:array of integer;
PageLine: integer;
PageMaxRow: integer=28;
procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
GPage := GPage + 1;
end;
procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
GPage :=1;
end;
procedure GroupFooter1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
if Engine.FinalPass then //二次遍历时增加分组索引
FGIndex := FGIndex + 1
else
begin
setLength(PageList,GIndex + 1);
PageList[GIndex] := GPage; //存放分组的总页数
GIndex := GIndex + 1;
end;
GPage := 0;
i := iif(PageLine=0, PageMaxRow, PageLine);
child1.visible := True;
while i < PageMaxRow do
begin
i := i + 1;
Engine.ShowBand(Child1); //印空白表格
end;
child1.visible := False;
end;
procedure Memo6OnBeforePrint(Sender: TfrxComponent);
begin
if not Engine.FinalPass then exit;
//Memo6.Lines[0] := '总页号:'+IntToStr(PageList[FGIndex]);
Memo6.Lines[0] := '总页号:'+IntToStr(FGIndex+1);
end;
............................后面写不下了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式