2008-11-25 9 views
3

J'ai un contrôle de liste dans Flex qui a été lié à un objet xml e4x à partir d'un HTTPService.Comment supprimer/effacer des éléments d'un contrôle de liste dans Flex?

Je voudrais maintenant avoir un bouton qui efface la liste, comment puis-je faire cela?

J'ai essayé:

 

list.dataProvider = null; 
 

qui ne semble pas fonctionner, j'ai aussi essayé:

 

list.dataProvider = {}; 
 

qui efface les objets mais les feuilles [objet, objet] comme le premier élément la liste ...

Répondre

8

peut-être ...

list.dataProvider = new Array(); 
5

Réglage du dataProvider à un nouvel objet Array jetteront une erreur:

Implicit coercion of a value of type Array to an unrelated type fl.data:DataProvider.

Au lieu de cela, vous devez utiliser la méthode removeAll() fournie par DataProvider:

list.dataProvider.removeAll(); 

Cela déclenche un événement REMOVE_ALL dans le DataProvider qui , à son tour, mettra à jour votre liste.

+0

-1 - Interrogateur pose des questions sur Flex, alors que votre réponse ne concerne que les composants hérités de [fl.controls.SelectableList] (http://help.adobe.com/fr_FlashPlatform/reference/actionscript/3/fl /controls/SelectableList.html#dataProvider). La propriété 'dataProvider' des composants Flex correspondants est de type Object et ne présente pas les problèmes de conversion que vous avez rencontrés. – merv

Questions connexes