Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > печать DBGrid


Автор: mortisedstalbun 27.1.2008, 17:38
Столкнулся с некоторой проблемой при выводе DBgrid на печать стандартными процедурами и PrinterSetupDialog.
Вот как осуществлял:
Код

uses
    Printers;

If not PrinterSetupDialog1.Execute then
  Exit
  else
  begin
  Printer.BeginDoc;
  Printer.Refresh;
  Canvas.Font:=Results.Font;
  Results.DBGrid1.PaintTo(Printer.Handle, 10, 10);
  Printer.NewPage;
  Printer.EndDoc
  end;

Засада в том, что при печати DBGrid получается на листе очень маленький, т.е. я так понял, что Font DBGrid затирается каким-то образом, в связи с этим и уменьшается размер DBGrid на напечатанном листе...  И как осуществить печать полностью DBGrid а не только той части, которая отбражается на форме со скролом? Как правильно настроить программно принтер для такой печати, не используя сторонних компонентов?

Автор: Fighter 27.1.2008, 18:52
DBGrid все равно данные берет из DataSet, вот взял бы QReport и напечатал бы через него, вместо того, чтобы гемороиться. 

Автор: mortisedstalbun 27.1.2008, 19:10
Как тогда через QReport осуществить печать? С ним ниразу не общался.... А стандартными методами не осуществить такую печать?

Автор: Frees 28.1.2008, 07:46
В DRKB статья есть "Печать содержимого DBGrid через QuickReport" там пример есть как напечатать содержимое DBGRid

Автор: Akella 28.1.2008, 09:42
Цитата(mortisedstalbun @  27.1.2008,  19:10 Найти цитируемый пост)
А стандартными методами не осуществить такую печать? 

так стандартный метод это и есть печать через компоненты отчеты - FastReport, RaveReport, CrystalReport и т.д. Кстати, QReport, можно сказать, уже умер.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)