fastreport中如何按照字段数据控制输出行数。 如数据源查询结果 A 3 B 2 出来效果应为 A A A B B
展开全部
用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;
............................后面写不下了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询