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

Mehrere Tabellen auf einer Seite

designer
(combit Team) #1
Gilt ab List & Label 5
Ab List & Label 20 werden unter .NET mehrere Berichtscontainer unterstützt.
Ab List & Label 11 kann ein Berichtscontainer mehrere Tabellen enthalten, d.h. Sie können eine nahezu beliebige Abfolge von Tabellen auf diese Weise realisieren. Verwenden Sie die API-Befehle LlDbAddTable(), LlDbAddTableRelation() sowie LlDbAddTableSortOrder() um Ihr Datenmodell an List & Label zu übergeben. Weitere Hinweise finden Sie im Handbuch.

Ein zweiter häufiger Grund für den Wunsch nach zwei Tabellen ist der Druck mehrspaltiger Layouts. Diese können Sie ab Version 13 sehr einfach über die Eigenschaft "Spaltenzahl" einer Tabelle einstellen.

Für alle anderen Fälle gilt:

Um 2 unterschiedliche Tabellen auf einer Seite zu drucken können Sie wie folgt vorgehen:
Plazieren Sie beide Tabellen und geben Sie jeder Tabelle einen Namen, unter dem Sie diese Tabelle später ansprechen. So füllen Sie die Tabellen:
- Starten Sie den Druck wie gewohnt und führen Sie LlPrint() aus.
- Disablen Sie Tabelle 2, Enablen Sie Tabelle 1 (siehe LlPrintEnableObject).
- Füllen Sie Tabelle 1, bis LL_WRN_REPEAT_DATA zurückgegeben wird, oder keine Daten mehr zu drucken sind.
- Disablen Sie dann Tabelle 1, Enablen Sie Tabelle 2
- Füllen Sie Tabelle 2, bis LL_WRN_REPEAT_DATA zurückgegeben wird, oder keine Daten mehr zu drucken sind.
- Enablen Sie beide Tabellen und führen Sie dann LlPrint() aus.

Für viele Fälle besser geeignet und die bis Version 11 von uns empfohlene Vorgehensweise sind allerdings die multiplen Zeilendefinitionen!
Mit dieser Funktionalität können in einer Tabelle mehrere Tabellenlayouts realisiert werden.
So könnte eine Zeilendefinition Ihre erste Zeile enthalten, eine zweite Zeilendefinition Ihre zweite Zeile usw. Zwischen den Zeilendefinitionen würden Sie von Ihrer Applikation aus durch die Definition eines Zusatzfeldes per Darstellungsbedingung umschalten können (z.B. Feld "Zeilendef" mit Werten "1", "2", ...; die Darstellungsbedingung für Zeile 1 wäre dann "Zeilendef=1" und entsprechend fuer die weiteren Zeilen). Da Sie die Zeilendefinitionen völlig unterschiedlich gestalten können, entsteht so beim Benutzer der gewünschte Eindruck mehrerer Tabellenobjekte. Die Kopfzeile der Tabellen könnten Sie über einen Gruppenkopf realisieren, welche duch den Wechsel dieses Zusatzfeldes ausgelöst wird.

Beachten Sie, dass Sie die multiplen Datenzeilen über LlSetOption(hJob, LL_OPTION_MULTIPLETABLELINES, 1) explizit aktivieren müssen, damit diese im Designer und beim Druck zur Verfügung stehen (ab List & Label 7 standardmäßig aktiviert).
IDKBTD000428 KBTD000428