ViewPro: Objektarray / color

Ich verstehe die Dokumentation http://doc.4d.com/4Dv16R5/4D/16-R5/Objekt-Arrays-in-Spalten-von-Listboxen-4D-View-Pro.300-3481630.de.html bzgl “color” nicht.

Ich möchte eine Zelle mit Checkbox und Hintergrundfarbe gelb haben.
<code 4D>
OB SET($ob;“valueType”;“boolean”) //definiert den Wertetyp (zwingend)
OB SET($ob;“color”;“Yellow”)
OB SET($ob;“color”;“00ff00”)
OB SET($ob;“color”;“0x00ff00”)
OB SET($ob;“color”;0x00ff00)

</code 4D>

geht alles nicht.

Wie macht man es richtig?

wurde der Listbox ein Array für die Zeilenhintergrundfarbe zugewiesen? Das überschreibt dann den Wert.

Nein, kein Zeilenhintergrundarray.

OK, nach genauerem Lesen habe ich jetzt die Zellen farbig bekommen:
<code 4D>
OB SET($ob_o;“valueType”;“color”)
OB SET($ob_o;“value”;0x00ff00)

</code 4D>
Resultat sind schön farbige Zellen ohne Inhalt und nicht eingebbar.
So gesehen ist die Doku doch verständlich.

Welchen Sinn hat aber ein Wertetyp “Hintergrundfarbe”? Das sollte doch ein Attribut zu den “normalen” Wertetypen (text, real, int, boolean, event) sein und diese nicht ersetzen?

Ich glaube jetzt die Frage erst richtig verstanden zu haben…

Es gibt bei Listboxen zweimal Farbe, und das ist wohl die Ursache.

Sie können eine Listbox-Zeile (bzw eine Zelle) einfärben. Das geschieht mehr oder weniger unabhängig von dessen Inhalt bzw Typ.

Oder eine Zelle kann vom Typ Farbe sein. Also eine Zelle die nur eine Farbauswahl darstellt, nicht einen Wert wie 5 oder “Hallo”. Der “valueType” color ist dieser Typ.

Eine Zeilenfarbe kann auch einen Text oder eine Zahl mit einer Vordergrundfarbe (Schriftfarbe) oder Hintergrundfarbe darstellen.

Beispiel für Zelleneinfärbung unabhängig vom Typ:
https://blog.4d.com/customize-highlight-color-upon-listbox-row-selection/

Ups, danke. Vor lauter View Begeisterung habe ich offenbar die grundlegenden Listboxfunktionen übersehen.

Wobei ich ein background-color Attribut trotzdem sehr praktisch fände…

Sorry, jetzt muss ich doch nochmal nachfragen: wie geht es bei dynamisch angelegten Spalten? Listbox set array in der Theorie, da bräuchte ich aber auch “dynamisch” angelegte Arrays.

— Gleich nach dem Absenden selber drauf gekommen: mit einem 2-Dimensionalen Array lösbar