我正在测试DevExpress的打印系统以打印Grid(cxgrid),该打印系统可以正常工作,但是在打印的文档上有一行文字:
<Filter is Empty>
我的问题是如何删除此行?
procedure TFormMain.Btn_PrintClick(Sender: TObject);
procedure ReportPageSetUp(APL : TBasedxReportLink;
APaperSize : Integer;
AOrientation : Integer;
AFitToPage : Boolean;
ATitle : String;
ACenterTitle : String;
ATitleFont : String;
AFontStyle : TFontStyles;
ATitleSize : Integer);
begin
APL.PrinterPage.DMPaper:=APaperSize;
case AOrientation of
0 : APL.PrinterPage.Orientation:=dxPrnDev.poPortrait;
1 : APL.PrinterPage.Orientation:=dxPrnDev.poLandscape;
end;
APL.ShrinkToPageWidth:=AFitToPage;
APL.ReportTitle.Text:=ATitle;
APL.PrinterPage.PageHeader.LeftTitle.Clear;
APL.PrinterPage.PageHeader.CenterTitle.Clear;
APL.PrinterPage.PageHeader.RightTitle.Clear;
APL.PrinterPage.PageHeader.Font.Name:=ATitleFont;
APL.PrinterPage.PageHeader.Font.Style:=AFontStyle;
APL.PrinterPage.PageHeader.Font.Size:=ATitleSize;
APL.PrinterPage.PageHeader.LeftTitle.Add('username');
APL.PrinterPage.PageHeader.CenterTitle.Add(ACenterTitle);
APL.PrinterPage.PageHeader.RightTitle.Add('[date printed] [time printed]');
APL.PrinterPage.ApplyToPrintDevice;
END;
var
AOrientation: byte;
begin
AOrientation := Integer(True);
ReportPageSetUp(dxComponentPrinter1Link1, DMPAPER_A4, AOrientation, true,
'Title 1' ,
'Title 2',
'Times New Roman',[fsBold],10);
dxComponentPrinter1.Preview(true, dxComponentPrinter1Link1);
end;
答案 0 :(得分:2)
您可以通过将OptionsView.FilterBar
属性设置为False
来隐藏报表中的过滤器栏:
dxComponentPrinter1Link1.OptionsView.FilterBar := False;
此外,如果只想在没有过滤器的情况下隐藏过滤器栏,则可以执行以下操作:
dxComponentPrinter1Link1.OptionsView.FilterBar := not dxComponentPrinter1Link1.Grid.ActiveView.DataController.Filter.IsEmpty;