Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [Rave] Zeilenhintergrund unterschiedlich färben (Zebramuste (https://www.delphipraxis.net/48977-%5Brave%5D-zeilenhintergrund-unterschiedlich-faerben-zebramuste.html)

Keldorn 3. Jul 2005 19:47


[Rave] Zeilenhintergrund unterschiedlich färben (Zebramuste
 
Hallo
Ich möchte meine Reporte ein wenig übersichtlicher gestalten und den Hintergrund der Zeilen zebramusterartig einfärben und steh mal wieder auf dem Schlauch ;).
Meine bisherige Variante sieht so aus:
- ich verwende keine Datenbanken und übertrage meine Daten per customconnection
- bei der custommconn. habe ich ein zusätzliches Feld „index“, das ich in den raveevents auswerten kann.
- Im Band ist ein rectangle im Hintergrund, das ich dann im onbeforeprint hellgrau oder weiß färbe:
Delphi-Quellcode:
If odd(DataView_Index.asinteger) then
  Self.FillColor := clwhite;
else
  Self.FillColor := 15132390;
end if;
Das ist mir aber zu kompliziert und ich will weg von den events, außerdem möchte ich mein Delphi-Project und das Rave-project nicht so stark vermischen, das Delphi-Programm soll die Daten übergeben und der Rest ist Sache von Rave. Ich möchte nicht schon in Delphi Sachen übergeben, die mit der eigentlichen Datenstruktur nichts zu tun haben und nur zum Anzeigen gebraucht werden.

meine Probleme und Fragen:
- ich muß der customconnection ein zusätzliches Feld z.B. Index mitgeben, um es im raveevent auswerten zu können. Da ich die Customconnection verwende, ist das kein Problem. Würde ich eine DB verwenden, könnte ich dort nicht so einfach ein zusätzliches indexfeld übergeben. Ich habe hier im Forum einige threads zu „Zeilennummern“ gefunden, mit der Calctotal-Komponente kann ich diese auch in einem Rave-Parameter ablegen. Leider stell ich mich zu doof an, diesen Parameter in einem Event anzusprechen. Spreche ich „param.zeile“ im Rave-Event an, erscheint als Fehlermeldung: „unknown identifier [param]“
Wie kann ich die Rave-paramter in einem Event ansprechen?

- mir wäre der Weg über eine Datamirrorsection lieber. Das Färben betrifft mehre Reports des Projects und ich finde die DMS damit ideal, da ich mir für das Färben eine Section mit der Hintergrundfarbe definieren könnte, die ich dann in allen Reports gleich verwenden ist. Bei der Datamirrorsection fehlt mir aber die Auswertungsmöglichkeit. Ich kann dort doch aber nur Werte abfragen, keine Formel wie odd, oder? Eine Zeilennummer nützt mir nichts und ich möchte nichts zusätzliches mit der customconn. übertragen. Wenn ich die Calccompos verwende, gäbe es dort die Möglichkeit, die immer nur bis zwei zählen zu lassen, so das 1-2-1-2-… entsteht? Dann würde es wieder mit der DMS klappen.

Oder wie ließe sich so was noch realisieren?

Danke Frank

merlin17 4. Jul 2005 18:08

Re: [Rave] Zeilenhintergrund unterschiedlich färben (Zebram
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Frank,

der leichteste Weg geht über die kostenlose AddOn-Komponente GreenBar (www.nevrona.com/rave-AddOn-Area) :thumb: .

Alternativ siehst du nachfolgend und in der dazugehörigen RAV-Datei die Lösung über die
anderen drei Wege.....


:-) thomas, TeamNevrona


Delphi-Quellcode:
procedure TForm1.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  Connection.DataRows := 10;
end;

procedure TForm1.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
  Connection.WriteField('Diesel', dtInteger, 2, 'Diesel', '');
  Connection.WriteField('Dust',  dtInteger, 1, 'Dust', '');
end;

procedure TForm1.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
begin
  Connection.WriteIntData('', Connection.DataIndex + 1);
  Connection.WriteIntData('', (Connection.DataIndex + 1) mod 2);
end;

procedure TForm1.btnExecClick(Sender: TObject);
begin
  with RVProject1 do begin
    if not Active then
      Open;

    Case rgpHow.ItemIndex of
      1: SelectReport('ReportEvents', False);
      2: SelectReport('ReportMirrorsByParam', False);
    else
      SelectReport('ReportMirrors', False);
    end;

    Execute;
  end;
end;

Keldorn 4. Jul 2005 19:47

Re: [Rave] Zeilenhintergrund unterschiedlich färben (Zebram
 
sehr schön, Danke!

auf irgendwelche addons möchte ich verzichten, da ich das Projekt übergeben muß.

der events und der mirror-report sind genauso, wie ich es zur Zeit habe und nicht möchte ;) (zusätzliche Datenübergabe). Der mirrorsbyparam sieht richtig gut aus, das mit den calcop-Komponenten muß ich erstmal auseinandersetzen, aber prinzipiell ist es genau das, was ich will :-D .

Aber trotzdem: wieso geht das mit dem Paramter in den events nicht?

Mfg Frank

linus_wildcat 19. Okt 2008 14:36

Re: [Rave] Zeilenhintergrund unterschiedlich färben (Zebram
 
@Merlin17

In diesem Thread hier habe ich die Frage auch mal gestellt....

Kann mir irgendjemand vielleicht das GreenBar Addon zumailen? Die Nevrona-Seite ist seit deren Umstellung (ist eine Vermutung, da die meißten Links noch "alt" aussehen) halb down. U.a. die Addons sind nicht downloadbar.

1000 Dank schon mal

Kai

merlin17 16. Dez 2008 11:36

Re: [Rave] Zeilenhintergrund unterschiedlich färben (Zebram
 
Nevrona hat derzeit viele Baustellen, ich werde einmal die ganzen libraries auf meinem Blog zum downloaden veröffentlichen ...


:-) thomas, TeamNevrona (nach langer zeit wieder etwas zeit für die DP ...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz