Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Fast Report: Band oder Memo ausblenden mit der Emba-Version (https://www.delphipraxis.net/166934-fast-report-band-oder-memo-ausblenden-mit-der-emba-version.html)

Keldorn 6. Mär 2012 13:22

Fast Report: Band oder Memo ausblenden mit der Emba-Version
 
Hallo,

da das nu mit Rave nicht mehr wirklich so vorwärts geht, versuche ich mich an Fastreport. Ein Report soll ungefähr so aussehen
Zitat:

Daten1 Daten2 Daten3 ...
Zusatzinfo1 Zusatzinfo2 ...
das ganze soll zweizeilig sein und die Zusatzinfos sollen nur bei bestimmten Daten mit ausgegeben werden und können selbst auch mehrzeilig sein. Die Übergabe erfolgt der Daten per userdataset.

Mein Problem: mir fehlen ja in der Emba-Version mit DelphiXE2 die events und damit auch jeglicher Lösungsansatz, wie ich ein Memo oder Band nicht anzeige. Mit Google habe ich auch noch nichts gefunden, da halt immer events verwendet werden.
Meine aktuelle Lösung sieht so aus, daß ich für die Zusatzdaten ein Child-Band verwende. ein Child-Band kennt aber wiederrum kein "PrintIfDetailEmpty" ... also wird es immer ausgegeben, auch wenn keine Daten gefüllt sind.

nächster Versuch: Die Memos stehen auf stretchmode=smactualheight und das Band auf stretched=true. Ich kann die Höhe das Childbandes aber nicht kleiner als die Höhe der Memos setzen. Was geht, ist die Memos in der Höhe zu verkleineren (Höhe=0,1) und dann werden Sie im Report später von der Höhe korrekt angepaßt. Damit habe ich dann im Designer aber Felder, wo ich nicht auf Anhieb sehe, welches Datafield dahintersteht. Das ist auch nicht wirklich schön.

Welche Lösungsansätze gibt es noch?

Danke Frank

Lemmy 6. Mär 2012 13:25

AW: Fast Report: Band oder Memo ausblenden mit der Emba-Version
 
Hi,

sorry, habe keine Emba-Version, aber es sollte möglich sein, ein Memo zu highlighten. d.h. da kannst Du eine Bedingung definieren, bei der der Inhalt z.B. eine andere Farbe zugewiesen bekommt - die machst Du dann auf weiß und fertig... Ganze Bänder kannst Du damit aber nicht ausblenden....

GRüße

Keldorn 6. Mär 2012 13:33

AW: Fast Report: Band oder Memo ausblenden mit der Emba-Version
 
Hallo Lemmy,

danke für die Antwort: ja: highlighten geht.
Aber das nützt mir hier leider nix, weil das Memo dann trotzdem von der Höhe so stehen und damit eine "Leerzeile" bleibt.

Gruß Frank

Lemmy 6. Mär 2012 15:01

AW: Fast Report: Band oder Memo ausblenden mit der Emba-Version
 
Dann fällt mir nur noch ne Abwandlung deiner Idee ein: Anstelle das Child-Band zur Entwurfszeit auf Höhe=0 zu setzen kannst Du das auch direkt nach dem Laden (vor dem Prepare) machen. Über

Delphi-Quellcode:
frxMainReport.FindObject()
kannst Du dir das entsprechende Child-Band zurückgeben lassen, dann dort die Höhe auf 0.1 und gut ist.... Damit siehst Du die Memos zur Entwurfszeit...

Grüße

Keldorn 7. Mär 2012 07:13

AW: Fast Report: Band oder Memo ausblenden mit der Emba-Version
 
ohja, Danke :thumb:.
habe es jetzt so gemacht: ich muß die Memos trotzdem erstmal auf Höhe=0 setzen
Delphi-Quellcode:
Var child:TfrxChild;
    Compo:TObject;
    i:integer;
begin
  ...
  child:=TfrxChild(frxReport1.FindObject('Child_Zusatzdaten'));
  if child<>Nil then
    begin
      for i:=0 to child.Objects.Count-1 do
        begin
          compo:=child.Objects[i];
          if compo is TfrxMemoView then
            (Compo as TfrxMemoView).Height:=0;
        end;
      child.height:=0;
    end;

  frxReport1.ShowReport;
mir ist nur nicht ganz klar, warum das Child.Objects und keine child.components sind, wie ich es eher vermutet hätte.

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 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