fastreport 打印空行 和 换行 问题(100分)

  • 主题发起人 主题发起人 cwb1128
  • 开始时间 开始时间
C

cwb1128

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让 masterdata 只打印 5条记录,少于5条就打印空行,多于5条就 换到下一页,谁能告诉我个简单的做法,十分感谢!!
我的邮箱:cwb@chenming.com.cn
 
fastreport没试过,不过试过在查询里做,效果不错
 
查询里怎么做,说说看,谢谢
 
其實你可以用Tclientdataset來實現。
這是我在項目中用的例子:
var c,d:integer;
begin
pub_dataset.DisableControls;
d:=pub_dataset.RecordCount Mod 35;
if d>0 then
begin
{補空白記錄數}
for c:=1 to 35-ddo
begin
pub_dataset.Append;
pub_datasetmfr_qty.Value :=0;
pub_datasetmfr_hour.Value :=0;
pub_datasetot_qty.Value :=0;
pub_datasetot_hour.Value :=0;
pub_datasetpre_qty.Value:=0;
pub_dataset.Post;
end;
end;
pub_dataset.First;
frReport1.ShowReport;
pub_dataset.CancelUpdates;
pub_dataset.EnableControls;
pub_dataset.First;
你可以參考下。
 
delphisuccess,可以加我qq吗?我有问题想问你。
你的这个好象没有分页哦。。
232203251
 
怎么没有人回答了呢?
 
这是我看到的一个富翁的方法,你加一个CHILD1,然后添加以下代码若满足条件则显示CHILD1的内容,CHILD1那里放空行表格
var pageline:integer;
var pagemaxrow:integer=4;//每页最大行数
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);//该函数设置每页的打印记录数
begin
PageLine := <pageline> mod PageMaxRow;
if (PageLine = 1 ) and (<pageline> > 1) then
Engine.newpage;
end;
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRowdo
begin
i := i + 1;
Engine.ShowBand(Child1);
//印空白表格
end;
end;

delphi7.0 +xp下试过
还有电脑报2004年13期54版有另一种方法
 
我没这么复杂,就简单根据空余空间判断是否要显示一个CHILD来被充空行与范围。
空余空间小于一定值就 Engine.newpage
 
多人接受答案了。
 
后退
顶部