AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Fast Report: Band oder Memo ausblenden mit der Emba-Version
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Keldorn · begonnen am 6. Mär 2012 · letzter Beitrag vom 7. Mär 2012
Antwort Antwort
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

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

  Alt 6. Mär 2012, 14:22
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#2

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

  Alt 6. Mär 2012, 14:25
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
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

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

  Alt 6. Mär 2012, 14:33
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4

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

  Alt 6. Mär 2012, 16:01
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

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
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

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

  Alt 7. Mär 2012, 08:13
ohja, Danke .
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

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:35 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