Comment puis-je obtenir le ItemRenderer d'un Flex Étincelle de la Liste de ses DataProvider Objet?
Dans Flex, je peux créer une ItemRenderer pour représenter chaque élément dans les Listes DataProvider mais comment puis-je accéder à l'instance de la ItemRenderer via le DataProviders Objet? Quelque chose comme myList.getItemRenderer(dp.getItemAt(10));
Depuis un Flex liste recycle ses éléments moteurs de rendu par défaut, vous ne serez pas en mesure fiable d'accéder à un rendu d'élément d'un objet de données. Il pourrait même ne pas être un moteur de rendu associé à l'objet de données si elle équivaut à l'extérieur de la zone visible de la liste. Qu'est-ce que vous essayez d'accomplir?
OriginalL'auteur Lee Probert | 2010-10-26
Vous devez vous connecter pour publier un commentaire.
Pour que cela fonctionne tout le temps, vous devez définir la Liste useVirtualLayout à false. De cette façon, tous les ItemRenderers va être créé, même si elles ne sont pas visibles. Avec useVirtualLayout il est vrai que certains ItemRenderers est créé uniquement lorsqu'ils sont visibles.
OriginalL'auteur Maxim Kachurovskiy
En utilisant cette méthode, vous ne pouvez pas obtenir le moteur de rendu qui est en dehors de la zone visible et il y aura aussi beaucoup d'autres questions.
Il n'y a pas de "bonne" réponse à cette questions car Flex SDK ne prend pas en charge directe de rendu de l'accès par les données.
OriginalL'auteur sid
Si vous avez besoin de changer la façon dont l'élément moteur de rendu est de se comporter, de modifier les données qui provoque le comportement.
C'est un exemple simple où l'on marquer les éléments à supprimables et le rendu des modifications en fonction depuis le de données a été modifiée. Pour les plus grands ensembles de données, je comprends que cela peut être un peu lent, mais il vous donne le contrôle, vous êtes après.
Si vous avez besoin de changer un moteur de rendu, il suffit de modifier les données sur l'objet correspondant dans l'objet dataProvider ou dataGroup.
OriginalL'auteur Jeremy keczan
Je sais que c'est un vieux thread, mais peut-être que cela aidera quelqu'un:
Qui vous donnera la ItemRenderer, si vous avez une coutume IR alors simplement l'utilisation de cette classe et de la fonte et de votre ensemble.
OriginalL'auteur Yav