QuickReport Problem - Seitenumbruch
-
ich brauche aber trotzdem labels zur laufzeit...
Wozu ?
-
weil ich muss daten darstellen, die wiederum untergeordnete Daten haben und diese haben wiederum untergeordnete Daten. Und die Anzahl der jeweiligen untergeordneter Daten kann jeweils verschieden sein. Also es können beliebig viele "Hauptpunkte" vorhanden sein, die jeweils verschieden viele Unterpunkte haben und die wiederum auch verschieden viele unterpunkte haben können.
ich müsste also im prinzip 3 OnneedDatas verschachteln.
Die hauptpunkte habe ich nun mit Onneeddata, so dass bei jedem neuen Hauptpunkt ein neues Band mit Onneeddata gemacht wird. Aber innerhalb dieses Bandes brauche ich eben wieder unterschiedlich viele Labels, und die wollte ich dann eben weiterhin zur Laufzeit erstellen.Ich hoffe das war Verständlich und ihr habt eine passende Idee, ihr habt echt schon gut geholfen

Gruß
Bauer
-
Verschieb doch dein Label dahin wo du es haben willst bei jeden zeilen druck.
static int i=0; if(++i<=10) { QRLabel1->Left = QRLabel1->Left + 10; QRLabel1->Caption = IntToStr(i); MoreData=true; } else MoreData=false;
-
@VergissEs: Ich denke dann hat er wieder das Problem mit dem Seitenumbruch.
Aber auch die abhängigen Daten sind kein Problem. Dafür gibt es SubDetail-Bands.
-
ja subdetail funktioniert.
aber ich bin immernoch nicht zufrieden..
jetzt bekomme ich so ein layout hin:hauptpunkt1
unterpunkt1
unterunterpunkt1
2
2
1ich möchte aber so:
hauptpunkt1 unterpunkt1 unterunterpunkt1
22 1
-
oh die formatierung hat es nicht so dargestellt wie ich wollte..
jedenfalls wollte ich bänder horizontal nebeneinander anordnen
-
Bauer schrieb:
jedenfalls wollte ich bänder horizontal nebeneinander anordnen
Das geht AFAIK nicht.
-
Nichts ist unmöglich.
Dann setzt du halt drei Labels nebeneinander.
Musst dir dann im OnNeedData eine Logik schreiben, die dir dann die jeweiligen Daten in das entsprechende Label setzt und in die anderen Labels einen EmptyStr.
Dürfte aber ziemlich kompliziert werden.
-
Nein, dann bekommt er noch ganz andere Probleme, da er bereits beim Layout mindestens so viele Labels auf der rechten Seite plazieren müßte, wie sein Sub-SubDetail-Band and Datensätzen maximal hat. Die werden natürlich alle gedruckt, ob mit Inhalt versehen, oder nicht.
Ich weiß nicht, ob andere Report-Komponenten mehr flexibilität bieten, aber ich würde die Druckausgabe 'von Hand' machen.
-
Ich die Geschichte konstuktiv für nicht so toll.
Derartige Verdichtungen mache ich immer (auch für Crystal-Reports mit deutlich mehr Möglichkeiten) über eine Vorabfrage als View oder wenn's noch komplizierter wird, über eine temporäre Reporttabelle.
Dann ist das Report-Layout selbst deutlich einfacher zu halten.
-
Joe_M. schrieb:
@VergissEs: Ich denke dann hat er wieder das Problem mit dem Seitenumbruch.
Wiso sollte er Probleme haben mit dem Seitenumbruch? wenn das Label in einem rbDetail Band liegt?
void __fastcall TForm1::QuickRep1NeedData(TObject *Sender, bool &MoreData) { static int i=0; if(++i<=100) { QRLabel1->Left = QRLabel1->Left +10; QRLabel1->Caption = IntToStr(i); MoreData=true; } else MoreData=false; }@Bauer kannst du nochmal genau Zeigen wie jetzt dein Output ausschauen soll?
evtl im Code Tag mit Spaces erzeugen, da man eigentlich immer noch nicht so richtig weiss wie es aussehen soll?
-
@Bauer kannst du nochmal genau Zeigen wie jetzt dein Output ausschauen soll?
evtl im Code Tag mit Spaces erzeugen, da man eigentlich immer noch nicht so richtig weiss wie es aussehen soll?Geht mir genauso ...
-
Hauptpunkt1 Unterpkt1 Unterunter1 Únterunter2 Unterunter3 Unterpkt2 Unterunter1 Unterunter2 Hauptpunkt2 Unterpkt1 Uu1 Uu2 Unterpkt2 Uu1
-
hoffentlich gehts jetzt...
Hauptpunkt1 Unterpkt1 Unterunter1 Únterunter2 Unterunter3 Unterpkt2 Unterunter1 Unterunter2 Hauptpunkt2 Unterpkt1 Uu1 Uu2 Unterpkt2 Uu1
-
3 Labels
-
So bekomme ich es bisher hin mit einem DetailBand und 2 Subdetailbändern und jeweils OnNeedData:
Hauptpunkt1 Unterpkt1 Unterunter1 Únterunter2 Unterunter3 Unterpkt2 Unterunter1 Unterunter2 Hauptpunkt2 Unterpkt1 Uu1 Uu2 Unterpkt2 Uu1aber das sieht eben ziemlich besch.. aus...
Mit drei Labels und nur einem Band..mhh..das wird dann wenn es überhaupt möglich ist ziemlich schwierig zu programmieren mit meinem bisher programmierten Programm (das auslesen aus der xml etc.) und das war schon ganz schön viel arbeit..Was außerdem noch sein sollte ist, dass ein Seitenumbruch nicht innerhalb eines "Hauptpunktes" passieren sollte. Hat da jemand eine Idee? Das ist auf jdenfall mit nur einem Band auch ein größeres Problem..
Gruß udn frohe Ostern,
der Bauer