IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Afficher la date en français dans un dataGrid


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Par défaut Afficher la date en français dans un dataGrid
    Bonjour à tous

    Je suis débutant en flex et AS3 et je cherche à faire la chose suivante :

    j'ai un dataGrid et l'orsque je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //  je fournis au dataProvider de mon datagrid une arrayList -->[array]
    myDatagrid.dataProvider=array 
    // Ensuite je veux qu'on me renvoie les items de ma collection
    myDatagrid.itemRenderer()
    les items sont là mais la date est en Anglais puisque le un itemRender ne fait que du rendu.

    Existe-t-il un moyen de retourner la date au format suivant JJ/mm/aaaa

    merci d'avance

    Bilou690

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    ton bout de code ne fait pas état d'utilisation de date, mais tu peux utiliser la classe DateFormatter

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Par défaut
    Merci pour ta réponse

    J'ai déjà envisagé cette solution mais le problème c'est que coté mxml la balise <mx:dateFormatter> est introuvable qd j'utilise l'auto complétion. Est-ce bien normal ? Pour info j'utilise flex builder 3.

    La solution serait alors de créer un dateFormatter en AS j'ai créer la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    	public function dateFormat(pDate:Date): String {
     
    					 var lDf : DateFormatter=new DateFormatter();
    					 lDf.formatString="DD/MM/YYYY";
    					 var lDateFormatee : String=lDf.format(pDate); 
    					return lDateFormatee;
     
    				}
    voici mon code ça sera plus simple je pense

    coté mxml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <mx:DataGrid x="31" y="57" width="582" height="180" id="myDataGrid" dataProvider="{array}" >
    				<mx:columns>
    					<mx:DataGridColumn headerText="Nom" dataField="nom"/>
    					<mx:DataGridColumn headerText="Prénom" dataField="prenom"/>
    					<mx:DataGridColumn headerText="Age" dataField="age"/>
    					<mx:DataGridColumn headerText="Date de Naissance"  dataField="dateNaiss"/>
    					<mx:DataGridColumn headerText="Sexe" dataField="sexe">
    					<mx:itemRenderer>
            				<mx:Component>
                				<mx:Label x="25" y="10" text="{data.sexe == true ? 'Masculin' : 'Féminin'}"/>
            				</mx:Component>
        				</mx:itemRenderer>
    				</mx:DataGridColumn>
    				</mx:columns>				
    			</mx:DataGrid>
    maintenant côté AS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    	import mx.collections.ArrayCollection;
    				import proto.flex.web.Personne;
    				import mx.rpc.events.FaultEvent;
    				import mx.rpc.events.ResultEvent;
    				import mx.formatters.DateFormatter;
     
     
     
    				[Bindable]
    				private var array:ArrayCollection=new ArrayCollection();
     
     
    				public function callService(): void{
    					ro.LireSaisie(txtNom.text,txtPrenom.text, txtAge.text,df.selectedDate, Sexe.selectedValue);
    				}
    				public function onResultSuccess(event:ResultEvent): void{
    					var result:ArrayCollection=(event as ResultEvent).result as ArrayCollection ;
           				if (result) {
           					for each(var item:Object in result){
           						array.addItem(Personne(item));
            				}
            				myDataGrid.itemRenderer;
            			}
    				}
    				/*public function displaySex(pSexe:Boolean):String {
    					if(pSexe==true){
    						return " masculin";
    					}else{
    						return " féminin";
    					}
    				}*/
    				public function dateFormat(pDate:Date): String {
     
    					 var lDf : DateFormatter=new DateFormatter();
    					 lDf.formatString="DD/MM/YYYY";
    					 var lDateFormatee : String=lDf.format(pDate); 
    					return lDateFormatee;
     
    				}
     
    				public function onResultFault(event: FaultEvent)  : void{
    					lblResult.text=event.fault.message;
    				}
    questions :
    comment appelé ma méthode dateFormat() à partir du mxml?
    puis-je avoir de l'aide pour créer un éventuelle custom itemRender pour le champs "dateNaiss" pour l'avoir au format JJ/MM/AAAA.

    par avance un grand merci

    Bilou

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Tu peux utiliser le labelFunciton de ton DataGridColumn

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 84
    Par défaut
    Re

    merci pour ta rapidité ça fait plaisir

    suite à ton dernier post j'ai fait la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <mx:DataGridColumn headerText="Date de Naissance"  dataField="dateNaiss" labelFunction="{dateFormat(dateNaiss)}"/>
    il y a des erreurs de compilation :

    Contrainte implicite d'une valeur du type String vers un type sans rapport Function.
    accès à la propriété non définie dateNaiss.


    Faut-il faire un cast ?
    la propriété dateNaiss existe bien ? je ne comprends pas

    merci à toi

    bilou

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 319
    Par défaut
    Tu dois écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <mx:DataGridColumn headerText="Date de Naissance"  dataField="dateNaiss" labelFunction="{dateFormat}"/>


    Tu viens du Java non? pas habitué à mettre des méthodes / closure en paramètre ? [oui, oui, ceci est un troll]

    Plus sérieusement : pense à lire la doc, labelFunction est très bien documenté

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ASP.Net] Afficher ou non l'heure dans un datagrid
    Par User.Anonymous dans le forum ASP.NET
    Réponses: 6
    Dernier message: 05/03/2008, 15h26
  2. Afficher la date du jour dans une formule
    Par Yodaf dans le forum SharePoint
    Réponses: 3
    Dernier message: 06/08/2007, 15h15
  3. [SQL] date en français dans un tableau
    Par chouchouboy dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/06/2006, 22h56
  4. afficher la date du jour dans un champ date
    Par pierrot67 dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/03/2006, 21h32
  5. [WebForms]Afficher telle ou telle image dans un datagrid
    Par Emdis dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 30/05/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo