29.11.2012 Aufrufe

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

combit List & Label - Programmierer-Referenz - combit GmbH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

4.2. Aufruf des Designers<br />

Aufruf des Designers<br />

Zunächst müssen alle Tabellen bei <strong>List</strong> & <strong>Label</strong> bekannt gemacht werden, die Sie dem<br />

Benutzer für das Design zur Verfügung stellen möchten:<br />

LlDbAddTable(hJob, "", ""); // evtl. vorhandene Tabellen löschen<br />

LlDbAddTable(hJob, "Orders", "Bestellungen");<br />

LlDbAddTable(hJob, "OrderDetails", "Bestellposten");<br />

Der erste Parameter ist wie üblich das Job-Handle des <strong>List</strong> & <strong>Label</strong>-Jobs. Der zweite<br />

Parameter ist die TableID, dies ist der Wert, den Sie beim Druckvorgang von LlPrintDb-<br />

GetCurrentTable() zurückgeliefert bekommen. Der dritte Parameter ist der Anzeigename<br />

der Tabelle im Designer. Wenn Sie NULL bzw. einen Leerstring übergeben, sind TableID<br />

und Anzeigename identisch.<br />

Eine besondere Rolle kommt dabei dem Tabellennamen "LLStaticTable" zu. Dieser ist<br />

reserviert und kann für das Einfügen von 'statischen' Inhalten (feste Texte oder Inhalte<br />

von Variablen, Chartunterschriften etc.) verwendet werden. Eine solche statische Tabelle<br />

kann vom Benutzer im Designer nur mit Datenzeilen befüllt werden. In Ihrem Code<br />

müssen Sie entsprechend auf die Tabelle reagieren - wie wird im Druck-Unterkapitel<br />

erläutert.<br />

Im nächsten Schritt werden die Beziehungen zwischen den Tabellen definiert. <strong>List</strong> &<br />

<strong>Label</strong> unterscheidet hierbei nicht direkt zwischen unterschiedlichen Beziehungstypen<br />

(n:m, 1:n) – Sie melden eine Beziehung einfach mit einer ID an, die Sie hinterher im<br />

Druck abfragen können:<br />

LlDbAddTableRelation(hJob, "OrderDetails", "Orders",<br />

"Orders2OrderDetails", NULL);<br />

Mit diesem Befehl haben Sie bekanntgemacht, dass "OrderDetails" im Designer als Untertabelle<br />

für die Tabelle "Orders" zur Verfügung stehen soll. In diesem Falle wurde nur<br />

die ID der Relation übergeben, diese erscheint dann auch im Designer.<br />

Zuletzt können Sie noch Sortierungen übergeben, die für die jeweiligen Tabellen zur<br />

Auswahl stehen sollen. Auch hier erhält wieder jede Sortierung eine eindeutige ID, die<br />

Sie im Druck abfragen können:<br />

LlDbAddTableSortOrder(hJob, "Orders", "OrderDate ASC",<br />

"Order Date [+]");<br />

LlDbAddTableSortOrder(hJob, "Orders", "OrderDate DESC",<br />

"Order Date [-]");<br />

Nun kann der Benutzer im Designer eine dieser Sortierungen sowie die Grundeinstellung<br />

"unsortiert" auswählen.<br />

57

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!