+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Gruppierung in Tabelle


(André Erb) #1

Hallo,
wir verwenden L&L 20 und möchten in einer einfachen Tabelle eine Gruppierung erstellen.
Die Tabelle hat 3 Spalten: Artikelnummer, Bezeichnung, Kommentar
Die Tabelle (DataTable) die als DataSource gesetzt wird heißt “Artikel”.

In der Designvorlage ist ein Gruppenkopf gesetzt mit:

  • “Inhalt”: Artikel.Artikelnummer
  • “Gruppieren nach”: Artikel.Artikelnummer

Der Gruppenkopf hat in der Ausgabe auch die jeweils richtige Artikelnummer.
Die Daten werden jedoch nicht richtig gruppiert. Es wird lediglich ein neuer Gruppenkopf angezeigt,
wenn sich die Artikelnummer in der nächsten Datenzeile ändert.

Müssen die Daten welche als DataSource übergeben werden, etwa bereits gruppiert sein??

Danke im Vorraus!

Beispiel:
Eingabe-Daten (in dieser Reihenfolge)
Artikelnummer Bezeichnung Kommentar
“10001” “S” “Hässlich”
“10000” “XXL” "Ohne Angabe
“10000” “M” “Kaputt”
“10001” “M” “Kaputt”
“10000” “S” “Hässlich”
“10001” “XXL” “Ohne Angabe”
“10001” “XXS” “Kaputt”

Ausgabe:
Artikelnummer Bezeichnung Kommentar
10001 (Gruppenkopf)
“10001” “S” “Hässlich”
10000 (Gruppenkopf)
“10000” “XXL” "Ohne Angabe
“10000” “M” “Kaputt”
10001 (Gruppenkopf)
“10001” “M” “Kaputt”
10000 (Gruppenkopf)
“10000” “S” “Hässlich”
10001 (Gruppenkopf)
“10001” “XXL” “Ohne Angabe”
“10001” “XXS” “Kaputt”


(Philipp Winkel) #2

Hallo,
wenn der Beitrag noch aktuell sein sollte… eine schnelle Antwort

Die Daten müssen vor der Ausgabe sortiert werden.
Die Sortierung kannst Du mit LLDbAddTableEx anmelden und die Flag LL_ADDTABLEOPT_SUPPORTSSTACKEDSORTEDORDERS setzen, um mehrstufige Sortierungen vorzunehmen.
Beim Anmelden der Tabellen an List & Label setzt du dann auch gleich die möglichen Sortierungen für jedes Feld mit LDbAddTableSortOrder().
Die Sortierreihenfolge musst Du beim Druck dann aus der Tabelle auslesen und dem DataSource überhelfen (LLPrintDbGetTableSortOrder).

Dann solltest Du auch im Reportdesigner die Tablle sortieren können (in deinem Fall nach der Artikelnummer) und schließlich sollte auch die Gruppierung klappen.

Viele Grüße
Philipp


(André Erb) #3

Hallo Phillip,
danke für deine Antwort. Interessant zu sehen, wie es mit Code funktionieren würde.
Mein Anliegen wurde auch vom Combit Support beantwortet.
Hier wurde mir die Möglichkeit vorgeschlagen, die Sortierung entsprechend im Designer zu setzen (siehe Screenshot). Auch hier gibt es die Möglichkeit mehrstufige Sortierungen zu konfigurieren.

Ich finde es immer noch etwas “merkwürdig”, dass ich für eine Gruppierung zuerst/zusätzlich noch eine Sortierung setzen muss, um eine Gruppierung zu erreichen, welche ja bereits über “Gruppieren nach” im Gruppenkopf gesetzt ist.

Gruß,
Andre


(Philipp Winkel) #4

Hallo,
im Grunde ist meine Beschreibung die programmtechnische Umsetzung für eigene Druckroutinen, um Sortierungen (wie in deinem Screenshot) im Designer setzen zu können und dann im Druck auszulesen und drucken zu können.

Für Delphi gibt es bei den Programmierbaren Beispielen auf der CD einen Ordner “Printing Sub Reports and Multiple Tables”, dort ist ganze veranschaulicht.

Das mit der Sortierung vor Gruppierung ist doch nur logisch, wie will List & Label sonst eine Gruppierung vornehmen ohne die Daten vorher zu sortieren. Es kann ja sein, dass die Daten ganz anders sortiert sein sollen, als was sie gruppiert werden sollen.

Viele Grüße
Philipp