Checkbox in Flex Datagrid auf Scrolling Gebrochene

stimmen
0

Ich habe eine Checkbox in einem Flex DataGrid-, und wenn ich blättern, andere Zeilen zufällig aktiviert / deaktiviert.

Nach der Lektüre über: Erstellen einer Spalte von Radiobuttons in Adobe Flex

es ist klar, dass die itemRenderers recycelt werden immer, aber das Problem, das ich mit der Lösung haben präsentierte dort ist es Informationen über die Sicht in das Modell bewegt.

Hat jemand einen besseren Weg, es zu lösen, die mich nicht Informationen für die Benutzeroberfläche in meine Actionmodellklasse zwingen zu setzen? (In meinem Fall, ich bin Umwandlung eingehender XML-Datenklassen in Actionscript, und diese sind immer auf meine Datagrid gebunden).

Danke für die Hilfe.


Dank jeder. gute Tipps. leider war es zu viel Aufwand immer das Modell rein zu halten, so dass ich nur das Modell wie den Link in meinem ursprünglichen Beitrag belastet. :( zumindest funktioniert es.

Chetan, nette Idee .. Ich habe versucht, mit dieser Arbeit für fast einen ganzen Tag lang ohne allerdings Glück.

brd6644, gute Gedanken, die beiden Modellklassen auf Trennung .. ich könnte wieder diese später gehen und tun.

Veröffentlicht am 28/07/2009 um 23:18
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
1

Sie könnten eine Unterklasse von Datagrid erstellen, die intern speichert, welche Zeilen aktiviert / deaktiviert (Array / Sammlung von Boolean), aber sie würde einen Teufel einer Zeit, die mit dem Datenprovider synchron zu halten, wenn es sortiert oder gefiltert wird. Ich nehme an, Sie könnten einen Wörterbuch verwenden, die von dem Objekt in jedem Index des Datenprovider und bewerteten mit einer Booleschen verkeilt ist, um anzuzeigen, ob es ausgewählt ist. Das wäre zumindest Sie von den Sortier- / Filterfragen isolieren. Das wird nicht funktionieren, wenn Sie doppelte Referenzen in Ihrem Datenprovider haben.

Alternativ können Sie eine Unterklasse von Actionscript-Modellklasse erstellen und den „ausgewählten“ Eigenschaft, um es hinzuzufügen, dann einige einfache Utility-Methoden schreiben zu „konvertieren“ zwischen den beiden. Auf diese Weise Ihre Ansicht befasst sich nur mit der „Ansichtsmodell“ Klasse und anderen Schichten (insbesondere die Server-Seite) befasst sich nur mit dem richtigen „Modell“ -Klasse.

Beantwortet am 29/07/2009 um 00:37
quelle vom benutzer

stimmen
0

Zusätzlich zu , was gesagt cliff.meyers, gibt es eine dritte Möglichkeit , eine benutzerdefinierte IList - Klasse erstellen , wie in dieser beschriebenen Blog - Post von Alex Harui. Es ist ziemlich clever tatsächlich und ist sauberer , da es nicht um die Komponente oder verschmutzen Ihre Modellklassen erfordert Subklassen.

Beantwortet am 29/07/2009 um 01:35
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more