Beginner-Guide: Datenübertragung?

Hallo!

Ich oute mich direkt mal als Einsteiger. Die vorhandenen Hilfen haben mich nicht wirklich weiter gebracht. Vielleicht kann ich sie auch nicht richtig lesen.
Mittlerweise habe ich es geschafft Daten an LL30 zu übertragen.

using (ListLabel ll = new ListLabel()) {
	DbCommandSetDataProvider provider = new DbCommandSetDataProvider();
	provider.DisableIdentifierValidation = true;
	SqlConnection sql = new SqlConnection("<connection string>");
	SqlCommand command = new SqlCommand("SELECT * FROM dbo.A a, dbo.B b WHERE a.B_ID = b.ID AND a.ID = 1", sql);
	command.CommandType = CommandType.Text;
	provider.AddCommand(command, "Meine Daten");
	provider.MinimalSelect = false;
	ll.DataSource = provider;
	ll.Design();
}

Die Daten werden dann auch endlich in der Liste der “Variablen/Felder” auf der rechten Seite angezeigt.
Wenn ich aber zum Beispiel ein Textelement auf dem Blatt platziere sind diese Werte nicht vorhanden. Warum? Was muss ich tun, dass die Daten aus der DB dort ebenfalls zur Verfügung stehen?

Gibt es eine andere Möglichkeit die Daten an LL30 zu übertragen? Laut Tutorial kann man auch “einfach” die kompletten Datenbank als Provider angeben. Aber wie kann ich dann LL30 mitteilen, welchen Datensatz ich verwenden will?

Gibt es denn irgendwo Beispiele für c#?

LG
Jens

Hi Jens und willkommen,

LL unterscheidet bei den Daten in Variablen und Feldern, die Felder sind nur in Tabellen verfügbar, wie hier in deinem Fall, die Variablen können in Textobjekten wie auch in Tabellen verwendet werden.
Variablen sind Werte die sich typischerweise nur einmal ändern, einfaches Beispiel, Rechnung.
Die Rechnungsempfänger (Kopfdaten) sind i.d.R. in Variablen und die Positionen welche in Tabellen ausgegeben werden sind als Felder verfügbar.

Wenn du z.B. in deiner DB eine Kunden und Bestellungen Tabelle hast, könntest du die Kunden als Variablen anmelden (LL.AutoMasterMode = LlAutoMasterMode.AsVariables;) als DataMember würdest du die Tabelle “Kunde” angeben, das führt eben dazu das du dann die Kunden als Variablen hast und alle Tabellen welche relational darunter liegen als Felder.

Es gibt noch verschiedene Möglichkeiten z.b. über das AutoDefineField Event die Felder auch als Variablen anzumelden, ist aber nicht so empfohlen.

Hier mal ein Link zur Doku. bei Fragen schreib einfach :wink:
https://docu.combit.net/progref/de/index.html#!Documents/variablenundfelderbeidatenbindung.htm

zu deiner Frage mit der DB, du kannst die gesamte DB z.B. mittels SqlConnectionDataProvider übergeben, im Designer hast du dann die gesamte DB, beim Druck holt sich LL aber nur die tatsächlich im Projekt verwendeten Daten.

1 Like