| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
| Eigener itemRenderer für DataGrid
Hallo, Ich möchte gerne einen eigenen itemRenderer für ein DataGrid erzeugen (alles in reinem AS3 ohne mxml) um darin ein eigenes Object anstatt Text anzuzeigen, habe aber keine Ahnung wie man das bewerkstelligt. Die Flash Hilfe bringt mich in diesem Punkt leider auch nicht so wirklich weiter... Hier ein simples Beispiel: PHP-Code: |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Lass deine Komponente das IFactory Interface implementieren und übergib dann das Class Objekt deiner IFactory. PS: wenn es viele Canvas Instanzen werden, solltest du auf ein schmaleres Objekt umschwenken.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #3 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Hi Omega ![]() Vielen dank. Ja ich dachte mir schon das ich sowas in der Art mit der IFactory machen muss. Allerdings wie sieht das genau aus? Speziell die übergabe des Class Objekts an die IFactory... In IFactory gibts ja dann auch noch die methode newInstance() welche ausprogrammiert werden muss. Was genau kommt denn dann da rein? |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Ich hab die ClassFactory vergessen, die kannst du auch nehmen.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #5 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Hmm, ich hab jetzt folgendes gemacht was mir allerdings einen Runtime Error beschert, das problem liegt wohl darin das meine Klasse "MeinAnzeigeObject" im Konstruktor parameter mitbekommt... PHP-Code: |
| | |
| | #6 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Implementiere das Interface IFactory in deinem ItemRenderer: ActionScript:
Das ist aber auch einer der Gründe, warum man eher parameterlose Konstruktoren verwendet.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #7 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Ich hab das mit der ClassFactory soweit hinbekommen indem ich mir ne einfache Klasse "ItemRendererDummy" geschrieben habe: PHP-Code: PHP-Code: |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Du übergibst ja auch keine Instanzen. Du müsstest das schon im Konstruktor von ItemRendererDummy implementieren.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #9 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Hallo Omega, Also ich hab jetzt nochmal rumprobiert und bekomm es einfach nicht hin so wie ich es brauche. Mein Problem ist das ich den zusammenhang zwischen der itemRender zuweisung und dem anschließenden füllen des renderers mit Daten nicht verstehe. Ich hab das jetzt mit IFactory probiert, aber das was hier passiert macht für mich gar keinen Sinn. Mein eigener ItemRenderer implementiert nun die IFactory und dann übergebe ich das Teil and den GridColumn für den DataGrid: PHP-Code: PHP-Code: "dgCol2.itemRenderer = new ItemRendererDummy( param1, param2 );" angezeigt. Und das ist so doch dann völlig sinnlos. Wie bekomme ich denn die nötigen (VERSCHIEDENEN) Daten (welche ich erst in der for schleife zur verfügung habe) in den renderer rein? |
| | |
| | #10 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Was sind das denn für Daten?
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #11 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Es ist ein dragbarer Canvas der jeweils 2 verschiedene Bilder (oder auch nicht, abhängig von den parametern im konstruktor), sowie verschiedenen Text anzeigen soll. Wie gesagt, in jeder Zeile ein anderer. Hier im Post hab ich das Ding daher immer "MeinAnzeigeObject" genannt...
|
| | |
| | #12 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Wie gesagt, für sowas ist in ein Canvas eigentlich viel zu überdimensioniert... aber das ist ein anderes Kapitel. Wie soll denn darüber entschieden werden welche Bilder angezeigt werden? Wo kommen die Infos dafür her?
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #13 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Die Infos dafür erhalte ich eben im Konstruktor des AnzeigeObjekts (der dragbare Canvas). Nochmal zum Verständnis wie ich mir das gedacht hatte: PHP-Code: |
| | |
| | #14 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Aber wo kommen die Daten dafür her. ItemRenderer können in Abhängigkeit ihrer Items und auch der dataField Eigenschaft der DataGridColumn das Verhalten ändern. Dafür musst du aber die Klasse umschreiben.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #15 (permalink) |
| GelegenheitsUser Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 114
|
Die Daten für mein AnzeigeObjekt erhalte ich aus einer XML Datei deren Inhalt ich parse und daraus dann eine ArrayCollection erzeuge welche ich als dataProvider für den DataGrid benutze. Das sieht vereinfacht dann so aus: PHP-Code: |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |