Oftmals möchte man in einer Datagrid-Komponente nicht nur Text darstellen. Wenn Bilder, MovieClips oder andere Komponenten in einer Spalte eingefügt werden sollen, benötigt man einen so genannten Cellrenderer, der für die Darstellung der gewünschten Inhalte in der entsprechenden Spalte sorgt.
Hier ein Beispiel, wie man in die Datagrid-Komponente von Flash CS3 externe Bilder einfügt. Die dazugehörige CellRenderer-Klasse stammt aus einem Artikel von Peter deHaan, der im Adobe Developer Connection veröffentlicht wurde.
Der Code in der Flashdatei (.fla) lautet:
-
span style="color: #808080; font-style: italic;">// neuer data provider
-
// drei einträge hinzufügen
-
"flag_australia.png""Australien""flag_austria.png""Österreich""flag_brazil.png""Brasilien""flag_canada.png""Kanada""flag_germany.png""Deutschland""flag_italy.png""Italien""flag_japan.png""Japan""flag_poland.png""Polen""flag_uk.png""UK""flag_usa.png""USA"});
-
-
-
// neue spalte für data grid komponente
-
"Flagge");
-
-
// für diese spalte den cellrenderer definieren
-
// zweite spalte erstellen
-
"Land");
-
-
// neues datagrid
-
// spalten hinzufügen
-
// den data provider als datenquelle festlegen
-
// style
-
// der bühne hinzufügen
-
Die Datei LoaderCellRenderer.as lautet:
Die Flaggen sind übrigens aus dem Flag Button Devkit von Bartelme.
Download: Quellcode des Beispiels (.zip)
Link: Embedding Components into data grid cells
Link: Flag Button Devkit
7 Kommentare zum Beitrag "AS3: Bilder in einer Datagrid Komponente anzeigen"
Hallo,
sehr gut :-))
Kann man auch die Datagrid komponente unsichtbar machen.
d.h. so das man nur den Inhalt sieht? Den dann könnte man ja fast wie mit tables arbeiten und komplette html Inhalte aus externen Dateien anzeigen. Geht das? Denn html tables kann man ja leider immer noch nicht anzeigen in Textfeldern :-(
Liebe Grüße
Ich hab eine schnelle Lösung gefunden. Eigentlich ganz einfach wenn man ohne AS das Layout der Datagrid Komponente ausblenden oder anpassen will. Einfach in der Library doppelklick auf die DataGrid Komponente und dann in die Skins rein gehen und jeden Zustand als Führungsebene definieren. (rechte Maustaste bei den Ebenen). Somit kann man alle z.B. ausblenden und es gibt keine Fehlermeldungen.
Wer`s brauch :-)
lg mikolo
Super, danke für den Tipp!
kann man den Text in der rechten Spalte auch ausrichten? .. so das er oben anfängt?
lg mikolo
kann man auch verhindern, dass jemand dir Spaltenbreite verändert?
Ich möchte in mehreren Spalten unterschiedliche Bilder anzeigen.
Ist dieses möglich und wenn ja wie ?
Ich möchte in unterschiedlichen Spalten auch unterschiedliche Bilder anzeigen lassen.
Aber wie ?
Schreibe einen Kommentar