2009-04-10 16 views
0

J'ai une grille de données dans laquelle une colonne s a cusomized itemRenderer (textflow on canvas). Maintenant, je veux effectuer une opération de recherche de texte sur le flux de texte de chaque cellule. Pour cela je peux faire trouver du texte sur une cellule focalisée. Mais maintenant, mon exigence est de trouver le texte en tout.cellule de mise au point flex datagrid

Merci d'avance.

+0

peut-être un peu plus de détails nous aiderait à répondre à la question. Le titre donne l'impression que vous voulez savoir comment mettre au point une cellule, le texte donne l'impression que vous voulez trouver du texte dans toutes les cellules. Pouvez-vous clarifier? –

+0

Merci. En fait je veux trouver du texte seulement dans la grille de données. Mais je demande de mettre l'accent sur une cellule parce que je suis capable de trouver du texte dans la cellule ciblée. J'ai donc demandé de mettre l'accent sur les cellules. –

Répondre

1

Si vous utilisez un itemRenderer personnalisé, pouvez-vous faire en sorte que le texte recherché puisse être dérivé de la propriété data? De cette façon, vous pouvez simplement définir le dataProvider pour le dataGrid et le rechercher.

<mx:itemRenderer> 
    <mx:Component> 
     <ns1:customTextBox searchedText={data.searchedText} text={data.text}/>  
    </mx:Component> 
</mx:itemRenderer> 

Ensuite, vous modifiez data.searchedText, qui est lié à votre dataProvider (souvenez-vous d'utiliser un ArrayCollection il répondra aux dataChange événements).

+0

Je suis capable d'effectuer l'opération de recherche, mais je ne suis pas en mesure de mettre en évidence le texte dans cette cellule. Comme je ne suis pas capable de cibler itemRenderer personnalisé de cette cellule, je ne suis pas en mesure de définir la sélection du texte dans cette cellule. –

+0

Hmmm ... Je pense que l'une des façons de mettre en œuvre ceci est de modifier les données elles-mêmes, de sorte que l'itemRenderer sache quel texte a été sélectionné, puis l'affiche en fonction de cela. – CookieOfFortune