DevExpress CxGrid ComponentPrinter: как убрать строкуна печатном документе? - PullRequest
2 голосов
/ 09 мая 2019

Я тестирую систему печати 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;

1 Ответ

2 голосов
/ 09 мая 2019

Вы можете скрыть панель фильтра из отчета, установив для свойства OptionsView.FilterBar значение False:

dxComponentPrinter1Link1.OptionsView.FilterBar := False;

Кроме того, если вы хотите скрыть панель фильтров только при отсутствии фильтров, вы можете сделать следующее:

dxComponentPrinter1Link1.OptionsView.FilterBar := not dxComponentPrinter1Link1.Grid.ActiveView.DataController.Filter.IsEmpty;
...