Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Отчет в QReport на основе Select в DBGridEh   Найти похожие ветки 

 
gu_est   (2004-04-29 21:33) [0]

Вечер добрый мастера!
Подскажите как реализовать отчет в QReport на основе не всего DataSet, а на основе записей выделенных Мультиселектом в DBGridEh который с ним связан?


 
Jack128 ©   (2004-04-29 21:59) [1]

проверь в деталБанд.OnBeforePrint выделена ли текущая запись в гриде и соответственно PrintBand := True или False

или ручками (см OnNeedData)


 
gu_est   (2004-05-02 11:14) [2]

Я сейчас может быть глупость спрошу... Ногами не бейте.
А как проверить выделена ли текущая запись в гриде или нет?


 
gu_est   (2004-05-04 17:38) [3]

Так как всетаки проверить выделена ли текущая запись в DBGrid?


 
Плохиш   (2004-05-04 18:00) [4]

SelectedRows + F1


 
Jack128 ©   (2004-05-04 18:06) [5]

Вобщем вот пример

unit uTestReport;

interface

uses Windows, SysUtils, Messages, Classes, Graphics, Controls,
 StdCtrls, ExtCtrls, Forms, Quickrpt, QRCtrls;

type
 TTestReport = class(TQuickRep)
   QRBand1: TQRBand; // Детайл бенд
   QRLabel1: TQRLabel; // qrLabel на этом бенде
   procedure QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
   procedure QuickRepBeforePrint(Sender: TCustomQuickRep;
     var PrintReport: Boolean);
 private
   // Текущий индекс в массиве SelectedRows
   FCurrIndex: Integer;
 public

 end;

var
 TestReport: TTestReport;

implementation

uses
 uMainUnit;

{$R *.DFM}

procedure TTestReport.QuickRepNeedData(Sender: TObject;
 var MoreData: Boolean);
begin
 MoreData := FCurrIndex < Form1.DBGrid1.SelectedRows.Count;
 with MainForm.DbGrid1, DataSource.Dataset do
 begin
   GotoBookmark(Pointer(SelectedRows[FCurrIndex]));
   QRLabel1.Caption := Fields[0].AsString;
 end;
 inc(FCurrIndex);
end;

procedure TTestReport.QuickRepBeforePrint(Sender: TCustomQuickRep;
 var PrintReport: Boolean);
begin
 FCurrIndex := 0;
end;

end.


 
gu_est   (2004-05-04 18:56) [6]

Спасибо!
Получилось.
Только добавил проверочку,
procedure TTestReport.QuickRepNeedData(Sender: TObject;
var MoreData: Boolean);
begin
MoreData := FCurrIndex < Form1.DBGrid1.SelectedRows.Count;
if MoreData then
begin
 with MainForm.DbGrid1, DataSource.Dataset do
 begin
   GotoBookmark(Pointer(SelectedRows[FCurrIndex]));
   QRLabel1.Caption := Fields[0].AsString;
 end;
 inc(FCurrIndex);
end;
end;

а то отправляет на несуществующую закладку.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1084560184
IrBisoff
2004-05-14 22:43
2004.05.30
Последовательное размещение динамического текста в лэйблах


1-1084739875
Dmitry Vyacheslavovich
2004-05-17 00:37
2004.05.30
Свойство "text" пропало...


14-1084512314
faith
2004-05-14 09:25
2004.05.30
Получение введённого символа


11-1073629236
azsd
2004-01-09 09:20
2004.05.30
bugs report: KOLPNG


8-1079417976
Галинка
2004-03-16 09:19
2004.05.30
Библиотека Graphics32 !!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский