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.

Direkter Druck und Export aus dem Designer<br />

6. Direkter Druck und Export aus dem Designer<br />

6.1. Einführung<br />

Sie haben die Möglichkeit, die Vorschau im Designer mit den "echten" Daten zu versorgen,<br />

so dass die Anwender den Report so sehen, wie er bei der Ausgabe aussehen<br />

wird. Zudem besteht die Möglichkeit, aus dem Designer heraus zu drucken oder zu<br />

exportieren.<br />

Ihre Entwicklungsumgebung muss folgende Voraussetzungen erfüllen, damit dieses<br />

Feature unterstützt werden kann:<br />

• Sie können auf Callbacks reagieren (s. Kapitel 11. Callbacks und Notifications)<br />

• Sie können einen Thread mit einer Druckprozedur starten und haben Synchronisationselemente<br />

wie Mutex, Critical Section oder ähnliches zur Verfügung.<br />

Die .NET-Komponente unterstützt im datengebundenen Modus automatisch dieses<br />

Feature, sobald eine Datenquelle angebunden wird, die auch zurückgesetzt werden<br />

kann (also z.B. DataTable oder DataSet, nicht aber DataReader). Wenn Sie die Komponente<br />

so verwenden, brauchen Sie den Inhalt dieses Kapitels nicht zu berücksichtigen.<br />

Die von Ihrem Code durchzuführende Aufgabe besteht darin, Ihren Echtdatendruck/export<br />

auszuführen, dies aber - zumindest für die Vorschau - in einem getrennten<br />

Thread. Hierfür gibt es über einen Callback Informationen über die Aufgabe (Start, Abbruch,<br />

Ende, Abfrage des Zustands). Es sind nur geringe Änderungen gegenüber der<br />

normalen Druck/Exportausgabe nötig.<br />

6.2. Vorbereitung<br />

Um <strong>List</strong> & <strong>Label</strong> mitzuteilen, dass Sie die Echtdatenversorgung entsprechend der obigen<br />

Anforderungen durchführen können, müssen Sie eine oder beide der folgenden Optionen<br />

setzen:<br />

• LL_OPTION_DESIGNERPREVIEWPARAMETER für die Echtdatenvorschau<br />

• LL_OPTION_DESIGNEREXPORTPARAMETER für den Export aus dem Designer<br />

Den Wert, den Sie in diesen Optionen übergeben, können Sie selbst definieren, beispielsweise<br />

als Zeiger auf interne Datenstrukturen oder Objekte. Sie bekommen diesen<br />

im Callback unverändert wieder geliefert. Wichtig ist für <strong>List</strong> & <strong>Label</strong> nur, dass er nicht 0<br />

oder -1 ist.<br />

Über den Callback LL_NTFY_DESIGNERPRINTJOB informiert <strong>List</strong> & <strong>Label</strong> Sie über<br />

die durchzuführende Aktion. Dieser Callback wird immer im Kontext des Designerthreads<br />

(dies ist der Thread, von dem aus Sie LlDefineLayout aufgerufen<br />

haben) aufgerufen.<br />

76

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!