Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2008, 10h50   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 10
Points : 10
Par défaut List: affichage d'icone (iconField, iconFunction)

Bonjour,
Je voudrais afficher une icône dans une List.

J'ai vu que la class List avait les propriété iconField et iconFunction.

c'est cette icon la que je veux afficher

[Embed (source="/resources/png/palette-16x16.png")]
private static var iconPalette: Class;

c'est donc une classe!

et iconField prend un string.

des idée pour afficher mon icone?
wespa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 16h56   #2
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salam wespa,

Voici le code pour ce que tu veux faire, en utilisant iconFunction:

Code :
1
2
3
4
5
6
7
	[Embed(source="/resources/png/palette-16x16.png")]
	private static var iconPalette: Class;
 
	private function iconFunction(item:Object):Class
	{
		return iconPalette;
	}
Code :
1
2
3
4
5
	<mx:List
		dataProvider="{myDataProvider}"
		horizontalCenter="0" verticalCenter="0"
		iconFunction="iconFunction"
		/>
__________________
Bon courage, @ ciao bonsoir!
--------------
Mettre le Tag est aussi une aide aux développeurs
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 17h02   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 10
Points : 10
c'est parfait!
Merci Fares!

Wespa
wespa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 17h06   #4
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salam wespa,

Sinon, pour comprendre pourquoi iconField est de type String, il suffit de lire le help:

Citation:
The renderers will look in the data provider object for a property of the name supplied as the iconField. If the value of the property is a Class, it will instantiate that class and expect it to be an instance of an IFlexDisplayObject. If the value of the property is a String, it will look to see if a Class exists with that name in the application, and if it can't find one, it will also look for a property on the document with that name and expect that property to map to a Class.
Dans ce cas, iconField est le nom de la propriété de l'objet qui est dans le data provider. il doit être public et non statique pour pouvoir y accéder.

Exemple, en utilisant iconField:

MyItem.as
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
public class MyItem
{
	public function MyItem(label:String)
	{
		this.label = label; 
	}
 
	[Embed(source="palette-16x16.png")]
	public var iconPalette: Class;
 
	public var label:String = null;
 
} // class
Code :
1
2
3
		myDataProvider = new Array();
		myDataProvider.push(new MyItem('Item1'));
		myDataProvider.push(new MyItem('Item2'));
Code :
1
2
3
4
5
	<mx:List
		dataProvider="{myDataProvider}"
		horizontalCenter="0" verticalCenter="0"
		iconField="iconPalette"
		/>
__________________
Bon courage, @ ciao bonsoir!
--------------
Mettre le Tag est aussi une aide aux développeurs
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 17h19   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 10
Points : 10
Ce que je ne comprends pas, c'est pourquoi il ne voulais pas reconnaitre le classe iconPalette telle que je l'avais définie dans le script de mon Appli:
Code :
1
2
[Embed(source="palette-16x16.png")]
	public var iconPalette: Class;
et puis faire juste:
Code :
1
2
3
4
5
<mx:List
		dataProvider="{myDataProvider}"
		horizontalCenter="0" verticalCenter="0"
		iconField="iconPalette"
		/>
à noter que je n'ai qu'un seul élément dans ma liste.
ou alors dois-je comprendre que l'icone doit obligatoirement faire partie du dateProvider?
wespa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 17h33   #6
Membre confirmé
 
Avatar de Fares BELHAOUAS
 
Homme Fares Belhaouas
Développeur Flex & Java
Inscription : mars 2002
Messages : 182
Détails du profil
Informations personnelles :
Nom : Homme Fares Belhaouas
Âge : 36
Localisation : Algérie

Informations professionnelles :
Activité : Développeur Flex & Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2002
Messages : 182
Points : 236
Points : 236
Envoyer un message via MSN à Fares BELHAOUAS Envoyer un message via Yahoo à Fares BELHAOUAS
Salam wespa,

d'après le Help, on a droit à plusieurs options, mais je ne sais pas comment faire autrement que de l'avoir dans les objets du dataProvider, mais bon, je crois que la solution iconFunction fait l'affaire, c'est ça l'essentiel.
__________________
Bon courage, @ ciao bonsoir!
--------------
Mettre le Tag est aussi une aide aux développeurs
Fares BELHAOUAS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 17h43   #7
Candidat au titre de Membre du Club
 
Inscription : juillet 2008
Messages : 18
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 18
Points : 10
Points : 10
Conclusion: il faut que l'icône soit dans le dataProvider même s'il n'y a qu'un seul élément dans ce dernier.
L'icone ne peut être affecté qu'à l'élément du dataProvider et ceci explique cela

Merci pour ton aide Fares
wespa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h04.


 
 
 
 
Partenaires

Hébergement Web