Bonjour.
Je crois que cette discussion revient souvent sur le net, mais je n'ai pu trouver de réponse satisfaisante ...
Dans un datagrid, j'ai une colonne dont l'ItemRenderer varie en fonction d'un champ de la donnée à afficher. Ces renderer peuvent contenir un ou plusieurs contrôles différents.
Mon tableau :
Mon ItemRenderer qui contient un VGroup auquel j'ajoute à l'initialisation un composant particulier en fonction du type de la data à afficher:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <mx:DataGrid id="dg" dataProvider="{var}" variableRowHeight="true" > <mx:columns> <mx:DataGridColumn dataField="a" /> <mx:DataGridColumn dataField="b" /> <mx:DataGridColumn dataField="c" itemRenderer="composants.Rendu"/> </mx:columns> </mx:DataGrid>
Jusque là, tout va bien, j'ai bien un tableau qui s'affiche avec mes renderers différents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private function init():void { switch(data.c) { case "Type1" : vgroup.addElement(new renduPanelType1()); break; case "Type2" : vgroup.addElement(new renduPanelType2()); break; } }
Le problème est le suivant, tous les Renderers sont bouleversés lorsque l'utilisateur utilise l'ascenseur vertical du tableau.
Est il possible de régénérer les ItemsRenderers lors du scroll ?
Est il possible d'empêcher le recyclage des ItemRenderers ?
Merci d'avance ...
Partager