Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
ВнизQRPreview Найти похожие ветки
← →
AndreyA (2003-11-01 13:04) [0]Как запихнуть композит репорт в QRPreview??? Именно композит.
← →
AndreyA (2003-11-03 17:41) [1]Никто не знает???
← →
Johnmen (2003-11-03 18:00) [2]Смотри примеры внимательно,
Найдешь там ответ обязательно...
← →
AndreyA (2003-11-03 18:05) [3]Да смотрел уже везде. Не нашел ничего. Можешь урл дать где есть?
← →
Johnmen (2003-11-03 18:12) [4]...\Program Files\Borland\DelphiN\Demos\QuickRpt
← →
AndreyA (2003-11-03 18:19) [5]Вы правильно поняли вопрос? Я не увидел компонента Preview в семплах к D5 вообще.
← →
Johnmen (2003-11-03 18:36) [6]Думаю, что правильно. В семплах к D5 вообще используется стандартный.
← →
AndreyA (2003-11-03 18:40) [7]ЧТо стандартный????? Я не вижу там формы, где бы лежал СТАНДАРТНЫЙ КОМПОНЕНТ TQRPreview и в который бы ассоциировались отчеты, тем более композитные.
← →
Johnmen (2003-11-03 19:11) [8]Метод стандартный.
СТАНДАРТНЫЙ КОМПОНЕНТ TQRPreview используется при стандартном Preview и лежит в стандартном модуле QRPrev.
← →
AndreyA (2003-11-04 09:18) [9]То бишь вы предлагали посмотреть исходники? а не семплы. К сожалению их у меня нет. Вы не будете так любезны заслать мне этот пас на мыло andrei_avr@mail.ru
← →
Johnmen (2003-11-04 09:34) [10]Я вижу, что у тебя две проблемы.
1. См. метод Add у TQRCompositeReport.Reports для создания композитного отчета.
2. Про использование TQRPreview. Если ты его хочешь использовать, то это фактически означает написание своего превью, своей формы превью.
← →
AndreyA (2003-11-04 10:02) [11]Все таки вы неправильно все поняли. Отчет как композитный создать я знаю, и как форму превью сделать знаю. И даже как сделать чтобы простой отчет там показывался знаю. Это все написано. А вот как сделать так, что композитный отчет в этой моей форме показывался я не знаю.
← →
AndreyA (2003-11-04 15:54) [12]Неужели не найдется на сайте мастеров хоть кого-нить кто это делал?????
← →
Johnmen (2003-11-04 16:10) [13]МуCompositeReport.Preview
← →
AndreyA (2003-11-04 16:22) [14]???? Неунимался он?????
Сделал я форму с QRPreview компонентом. Какой код я должен написать чтобы отобразить CompsiteReport в этой форме???
← →
AndreyA (2003-11-04 16:23) [15]Дак у тебя есть файл исходник qrprev ????
← →
Johnmen (2003-11-04 16:55) [16]Ну если проблем со своим превью нет, то для композитного пропиши событие OnAddReports:
МуCompositeReport.Reports.Add(QuickRep1);
МуCompositeReport.Reports.Add(QuickRep2);
....
И делай [13]
← →
AndreyA (2003-11-04 17:04) [17]Да блин. Как с глухим.
Ты сто раз объясняешь то, что тебе было сказано и ежику понятно. А ответа реального видимо не знаешь.
← →
Johnmen (2003-11-04 23:20) [18]Зачем же так орать ? Я не ежик, чтобы все понимать...
Итак. Стандартными средствами и приемами решить задачу невозможно, поскольку для отображения композитного репорта в своем QRPreview нужен доступ к указателю на область памяти, где лежит сгенеренный [или будет ложиться] отчет [в виде метафайла], а он [указатель] есть "приватное" поле класса TQRCompositeReport.
А значит придется залезть грязными ручками :) в исходники [quickrpt.pas] и добавить свойство в класс TQRCompositeReport :
public
property QRPrinter : TQRPrinter read FQRPrinter write FQRPrinter;
После чего [естественно откомпилировав quickrpt.pas] в приложении можно смело делать
QRCompositeReport1.Prepare;
QRPreview1.QRPrinter:=QRCompositeReport1.QRPrinter;
И не забыть потом сделать [на всякий случай]
QRCompositeReport1.QRPrinter.Free;
QRCompositeReport1.QRPrinter:=nil;
Вот и все...:))) А ты раскипятился, понимаешь ли...
← →
AndreyA (2003-11-05 10:11) [19]Сорри, я бы был Вам безгранично благодарен, если бы Вы учли последнее обстоятельство, которое я тут написал уже не однократно:
Плиз, Плиз, Плиз. Ну дайте же мне кто-нить исходники курепа. Ну нет их у меня.... Ну Надо очень.
← →
AndreyA (2003-11-05 11:48) [20]andrei_avr@mail.ru
← →
AndreyA (2003-11-05 13:19) [21]Вот, что нарыл
Q. In Quick Report 3, Composite Reports do not have an "OnPreview" event. Is there a was to use TQRPreview with Composite Reports?
A. The OnPreview event was left in for compatibility with Quick Report 2. With Quick Report 3, it is very easy to register a custom preview as the default preview for all reports. There are detailed examples of how to do this in the QR3MDID4.ZIP and QR3RNGD4.ZIP demo projects on our download page.
Example code from the demos..
type
// To have a custom preview be used as the default preview,
// you first define an interface class. You will provide two
// functions for this class, Show, and ShowModal.
// don"t forget to add qrprntr to the uses clause of this unit.
TQRSimplePreviewInterface = class(TQRPreviewInterface)
public
function Show(AQRPrinter : TQRPrinter) : TWinControl; override;
function ShowModal(AQRPrinter : TQRPrinter): TWinControl; override;
end;
implementation
function TQRSimplePreviewInterface.Show(AQRPrinter : TQRPrinter) : TWinControl;
begin
Result := TPreviewForm.CreatePreview(Application, AQRPrinter);
TPreviewForm(Result).Show;
end;
function TQRSimplePreviewInterface.ShowModal(AQRPrinter : TQRPrinter) : TWinControl;
begin
Result := TPreviewForm.CreatePreview(Application, AQRPrinter);
TPreviewForm(Result).ShowModal;
end;
To specify this preview as the default, you would call the RegisterPreviewClass with the type of preview to register:
RegisterPreviewClass(TQRSimplePreviewInterface);
If you are using custom previews designed with Quick Report 2, there were changes made to how the preview"s FormClose event works. Please see the standard preview"s FormClose code. If you use the Quick Report 2 Preview"s FormClose code, it will not free the qrprntr object created by the report.
------------------
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.01 c