Ein CpHtmlField dient der Anzeige von Html-Text in einem ControlPanel-Feld. Der Text kann statisch sein oder er kann dynamisch von einem Modell bezogen werden.
Ein Objekt der Klasse CpHtmlField wird mit der Funktion AddHtmlField() erzeugt und einem ControlPanel zugewiesen.
Ein CpHtmlField kann einen statischen Text anzeigen oder den Text einer globalen Variablen oder eines Modell-Properties.
}
Panel | Verweis auf das übergeordnete ControlPanel Objekt. Das CpHtmlField Objekt wird in der Liste ControlPanel.Fields gespeichert. |
Name | Standardwert für Label und ValueRef |
Label | Label für das ControlPanel-Feld. Label dürfen HTML-Tags enthalten. |
Html | HTML-Text, welcher in die entsprechende ControlPanel-Zelle geschrieben werden soll. |
ValueRef | Referenz auf eine globale Variable oder ein Objekt-Property. |
ColSpan | Anzahl Tabellen-Spalten, welche das Werte-Feld überspannen soll |
Attr | Zusätzliche HTML-Attribute für das Werte-Feld |
AddHtmlField() | Erzeugt ein CpHtmlField |
AddEmptyField() | Erzeugt ein CpHtmlField ohne Label und ohne Text |
GetType() | Fragt den Typ des Feldes ab |
GetValueRef() | Gibt den String-Wert des ValueRef Properties zurück. Auf ValueRef darf nicht direkt zugegriffen werden. |
GetHtmlID() | Gibt die HTML-ID eines ControlPanel-Feldes oder Items zurück |
GetDomObj() | Gibt eine Referenz auf das DOM-Element eines ControlPanel-Feldes oder Items zurück |
ControlPanel.AddHtmlField( Parameter )
}
Wenn Html nicht definiert wird, kann mit ValueRef der entsprechende HTML-Text vom referenzierten Modell-Property übernommen werden. Damit können dynamische Texte realisiert werden.
ControlPanel.AddEmptyField( Parameter )
}
Mit AddEmptyField() wird ein CpHtmlField ohne Label und ohne Text erzeugt. Es dient als Füller, wenn eine Zelle im ControlPanel leer sein soll. Wenn in einem mehrspaltigen Layout nicht genügend Felder erzeugt werden, um die letzte Zeile zu füllen, werden intern automatisch leere Felder eingefügt, um die Zeile zu füllen. AddEmptyField() braucht man nur, wenn in einer Zeile mittendrin ein leeres Feld stehen soll.
Per HTML-ID kann die Werte-Zelle des Feldes, welche ein DIV-Element ist, z.B. mit einer Funktion wie xInnerHtml() per Javascript mit einem Text gefüllt werden. Praktischer ist dazu jedoch ein CpHtmlField.
CpHtmlField.Html: String; ReadOnly; Init = ''
Der Html-Text des CpHtmlFields wird in ein Div-Element verpackt, welches die Klasse HtmlField und die folgende id erhält:
CpHtmlField-id = ControlPanel.Name + '-' + Name
Html darf HTML-Tags enthalten. Wenn dynamischer Text eines Modell-Properties angezeigt werden soll, muss Html ein Leerstring sein (Default) und ValueRef muss das entsprechende Property oder eine globale Variable referenzieren. Wenn weder Html noch ValueRef definiert sind, wird ein erzwungenes Leerzeichen ' ' angezeigt.
Hinweis: Das Property Html hat Vorrang vor ValueRef.