Leider kann ich letztendlich die übergebenen Informationen nicht im Designer auffinden.
Ungern würde ich diese Manuell an den DataTable anhängen, wenn es ja eine Option gibt, sie korrekt zu übergeben.
Könnten Sie mir da helfen und aufzeigen, was ich aktuell missverstehe?
Prinzipiell verwendet List & Label ja das Databinding in .NET und man kann hier verschiedene Datenprovider (DataSets, SQL…) verwenden - Datenquelle übergeben.
Zusätzlich Dateninhalte, die nicht im Databinding enthalten sind, können aber auch definiert werden. Das zeigt dann eigentlich das Beispiel hier: Zusätzliche Inhalte übergeben
int version = 1;
using (ListLabel LL = new ListLabel())
{
.....
dt.TableName = "Direkt";
LL.DataSource = dt;
LL.Variables.Add("AdditionalData.Version", version);
LL.AutoProjectFile = Path;
LL.LicensingInfo = License;
LL.Printerless = true;
LL.Design();
}
So hatte ich es probiert, leider taucht die Variable nirgends in meinem Designer auf.
Run-Time gibt es keine Events o.Ä., es soll einfach nur die version als int mitgegeben werden.
Prinzipiell sieht das Snippet soweit gut aus würde ich aus der Ferne sagen, wenn das DataTable sauber und vollständig vorhanden ist. Daher sollte das so auch funktionieren. Die zusätzliche Variable AdditionalData.Version sollte in der Variablen- und Feldliste (im Standard rechts zu finden im Designer) unter Variablen > AdditionalData > Version zu finden sein.
Mal versucht den Vorgang mit Debwin aufzuzeichnen und dort geschaut ob ein Aufruf mit der API LlDefineVariable… mit der neuen Variable enthalten ist?
Sonst würde mich noch einfallen einmal schnell zu versuchen im mitgelieferten Beispiel “Databinding 2” zu versuchen einfach eine Variable auf die gleiche Art wie hier hinzuzufügen ob es dort prinzipiell funktioniert. Oder einfach ein Support-Case bei combit mit deinem gesamten Sample-Code erstellen, damit sich das die Profis einmal genauer noch anschauen könnten.
crauchfuss
(combit Support - Christian Rauchfuß)
6
Hi Jan,
bitte setze den Printerless-Modus so früh wie möglich - idealerweise direkt nach der Erzeugung des LL-Objekts. Der Hintergrund ist, dass die Aktivierung von Printerless LL-intern diverse Sachen zurücksetzt, da dafür ein neuer LL-Job geöffnet wird. Dann sollte es klappen.