Thema: Delphi Rave Report

Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Rave Report

  Alt 28. Okt 2003, 07:27
Hi,

da ich das gleiche Problem hatte kann ich dich beruhigen. Du kannst Rave-Report auch Daten aus einer anderen Quelle Übergeben.

Über die Events in TCustomConnection kannst du Daten an den von dir erstellen Report übergeben.

TIP:

Beschreibung der Datenfelder werden im Ereignis "onGetcols" via Connection.writefield angegeben

Die Tatsächlichen Daten werden im Ereignis "onGetRows" via der Connection.writeXYZdata methode
geschrieben

Im "OnOpen" Ereignis gibst du die anzahl der Rows (Datenzeilen) an


Beispiel:

Delphi-Quellcode:
procedure TForm1.rvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  //Anzahl der Datenzeilen; Da hier headerdaten nur 1
  connection.DataRows := 1;
end;

procedure TForm1.rvCustomConnection1GetRow(Connection: TRvCustomConnection);
begin
  //Tatsächlichen Daten an den Report übergeben
  connection.WriteStrData('',realdata.Header.Name);
  connection.WriteStrData('',realdata.Header.Vorname);
  connection.WriteDateTimeData('',realdata.Header.Geburtsdatum);
  connection.WriteFloatData(format('%3.0f Kg',[realdata.header.Gewicht]),0.0);
  connection.writefloatdata(format('%4.0f cm',[realdata.header.Groesse]),0.0);
end;

procedure TForm1.rvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
   //Datenfelder definieren
  connection.WriteField('Name',dtString,30,'','');
  connection.writefield('Vorname',dtString,30,'','');
  connection.writefield('Gebdat',dtDateTime,8,'','');
  connection.WriteField('Gewicht',dtFloat,8,'','');
  connection.WriteField('Groesse',dtFloat,8,'','');
end;
Hoffe das hilft dir weiter

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat