一、问题提出
锐浪报表 Grid++Report,打印表格时,有时需要重复打印表头,有时需要取消重复打印表头,实现连续打印数据明细。见下表:
首页:
后续页:(无表头)
按需要,后续页重复打印表头:
二、解决办法
1、打印对话框,增加一个“重复打印表头”的选择项
2、代码
procedure TY_Standing_orders_Frm.GridppReport3FetchRecord(Sender: TObject);
var S,S1,S2,S3,S4:string;
k:integer;
begin
k:=GridppReport3.ReportHeaders.IndexByName('ReportHeader1');
if sCheckBox17.Checked
then GridppReport3.ReportHeaders.Item[K].RepeatOnPage:=True
else GridppReport3.ReportHeaders.Item[K].RepeatOnPage:=False;
ExportTitle:='医疗服务_医嘱_'+ClientDataSet1.FieldByName('姓名').asString;
GRP1:=GridppReport3.AddParameter('UsesN',grptString);
GridppReport3.ParameterByName('UsesN').AsString:=UsesName;
S1:=ClientDataSet1.FieldByName('性别').asString;
S2:=ClientDataSet1.FieldByName('年龄').asString;
....
end;
注意:
TReportHeaders.Item[K]中的值,不是通常0-Count-1序列,而是1-Count。这样。使用:
k:=GridppReport3.ReportHeaders.IndexByName('ReportHeader1'); 不会出错。