În Flex Datagrid casetă de selectare Fragmentat pe Defilare

voturi
0

Am o casetă de selectare într-o Flex DataGrid, și când am defila, alte rânduri sunt verificate aleatoriu / nebifată.

Dupa ce a citit peste: Crearea unei coloane de butoane radio în Adobe Flex

este clar că itemRenderers sunt obtinerea reciclate, dar problema am cu soluția prezentată acolo este mută informații despre punctul de vedere în model.

Are cineva o modalitate mai bună de rezolvare, asta nu mă obligă să pună informații pentru interfața cu utilizatorul în clasele mele de model ActionScript? (În cazul meu, eu sunt de conversie a datelor XML de intrare la ActionScript clase, iar acestea sunt obtinerea obligate să-mi DataGrid).

Multumesc pentru ajutor.


Multumesc tuturor. sfaturi. din păcate, a devenit prea mult deasupra capului pentru a menține modelul pur, asa ca am poluat model ca link-ul în postul meu original. :( cel puțin funcționează.

Chetan, idee elegant .. Am încercat de lucru cu acest lucru pentru aproape o zi întreagă fără noroc, totuși.

brd6644, gânduri bune pe care separă cele două clase de model .. i-ar putea merge înapoi și de a face acest lucru mai târziu.

Întrebat 28/07/2009 la 23:18
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
1

Ai putea crea o subclasă de DataGrid care stochează intern ce sunt verificate rânduri / neverificată (Array / Colecție de booleene), dar le-ar fi un diavol de un timp care menține în sincronizare cu dataProvider când este sortat sau filtrat. Presupun că ai putea folosi un dicționar care este fixată de obiect în fiecare indice al dataProvider și evaluate cu un Boolean pentru a indica dacă este selectată. Că cel puțin v-ar izola de problemele de sortare / filtrare. Acest lucru nu va funcționa dacă aveți referințe duplicat în dataProvider ta.

Alternativ, ați putea crea o subclasă de clasă modelul ActionScript și adăugați proprietatea „selectat“ pentru ea, apoi scrie cateva metode simple de utilitate pentru a „converti“ între cele două. Modul tău se ocupă Vezi numai cu clasa „ViewModel“ și alte straturi (în special partea de server) se referă numai cu reale „Model“ de clasă.

Publicat 29/07/2009 la 00:37
sursa de către utilizator

voturi
0

Se adaugă la ceea ce cliff.meyers a spus, există oa treia opțiune de a crea o clasă IList personalizat așa cum este descris în acest blog de Alex Harui. Este destul de inteligent , de fapt, și este mai curat , deoarece nu necesită subclasarea componenta sau poluante clase modelului.

Publicat 29/07/2009 la 01:35
sursa de către utilizator

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