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

Variable mit HTML Inhalt im Bericht


(Guest) #1

Hallo,

ich habe ein Problem bei L&L.

Ich benutze VB.Net mit L&L15.

Ich fülle ein Dataset.Table (Artikel), funktioniert einwandfrei.

Ich übergebe es: ll_report.SetDataBinding(set_ll, “Art”)

Ein Feld ist ein Memo vom SQL-Typ nText.
Dort enthalten ist ein langer String mit HTML-Code.

Wenn ich ein HTML Feld in den Bericht ziehe, wird mir in der Auswahl leider
keine einzige Variable angezeigt!

Wenn ich den Text aus der Variable in eine Text-Datei mit Endung HTM speichere,
dann kann ich das als Datei in das HTML Feld ziehe, ist alles prima, wird angezeigt.

Warum aber nicht meine Variable? Wenn ich ein normales Text Feld oder eine Tabelle reinziehe, sind alle Variablen da, nur nicht im HTML Feld.

Kann mir da jemand einen Tipp geben? Vielen Dank!

Eric


(Guest) #2

Wird denn das Memo-Feld in List & Label als HTML-Feld angemeldet? Ich vermute, dass es als einfaches Text-Feld angelegt wird und die werden eben nicht im HTML-Dialog angezeigt. Daher müsste man nun den Typ des Feldes bei der Anmeldung “patchen”. Dafür könnte man evtl. das Event AutoDefineField/AutoDefineVariable verwenden und dort den Typ der Variable “anpassen”, damit es entsprechend ein HTML-Feld wird. Könnte evtl. so aussehen (untested!):

private void LL_AutoDefineField(object sender, AutoDefineElementEventArgs e)
{
if (e.Name == “”)
e.FieldType = LlFieldType.HTML;
}


(Guest) #3

Hallo Oliver,

das hört sich ja gut an, das wird vermutlich das Problem sein, vielen Dank.
Ich benutze VB.Net.

Ich rufe jetzt neu einmalig auf:
AddHandler ll_report.AutoDefineField, AddressOf LL_Report_AutoDefineField

Die Methode sieht so aus:

Public Sub LL_Report_AutoDefineField(ByVal sender As System.Object, ByVal e As combit.ListLabel15.AutoDefineElementEventArgs) If e.Name.ToLower = "artu.memo" Then e.FieldType = LlFieldType.HTML End If End Sub

Habe einen Haltepunkt reingesetzt, er findet die Spalte und setzt es scheinbar um.
Allerdings taucht mein Memo Feld immer noch nicht als Variable in dem HTML Container auf.

Woran könnte das noch liegen? Vielen Dank für die Hilfe!

Eric


(Guest) #4

Achtung: Man muss hier aufpassen und den Unterschied zwischen Variablen und Feldern beachten. Felder stehen nur in Tabellen (Berichtscontainer) zur Verfügung. Variablen hingegen nur ausserhalb. Entsprechend gibt es auch für Felder und Variablen eigene AutoDefine-Events.
In deinem Beispiel müsste ja nun eigentlich in der Variablenliste im Designer das Feld “memo” in der Tabelle “artu” als HTML angemeldet worden sein, oder? Wenn dem so ist, kann man natürlich nicht in einem standalone HTML-Objekt (es ist nicht in einer Tabelle!) keine Felder auswählen und daher wird es auch nicht angezeigt.
Sonst auch nochmal generell die vier Events AutoDefineField, AutoDefineVariable, AutoDefineNewLine und AutoDefineNewPage genauer anschauen. Die Unterschiede sind wichtig für die Anmeldung der Daten.


(Guest) #5

Hallo Oliver,

vielen Dank. Habe jetzt mit AutoDefineVariable das Teil nochmal zusätzlich als neue Variable vom Typ HTML übergeben, jetzt passt es prima, vielen Dank!