经过昨天一天的测试,用了以下代码进行打印后,已没有问题。
if TDataGridExporter(lDataGrid.Exporter).OnSheetCreated = nil then
TDataGridExporter(lDataGrid.Exporter).OnSheetCreated := OnSheetCreated;
lDataGrid.Exporter.Print;
原先是代码是这样的
for li := SysUtils.StrToInt(FPageStart) to SysUtils.StrToInt(FPageCount) do
begin
FPageNum := SysUtils.IntToStr(li);
FDetailDs.Filtered := False;
FDetailDs.Filter := 'PAGENO='''+SysUtils.IntToStr(li)+'''';
FDetailDs.Filtered := True;
if TDataGridExporter(lDataGrid.Exporter).OnSheetCreated = nil then
TDataGridExporter(lDataGrid.Exporter).OnSheetCreated := OnSheetCreated;
if li = SysUtils.StrToInt(FPageStart) then
FSourceGrid.Exporter.Print
else
FSourceGrid.Exporter.PrintEx(False,True);
end;