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

Flash Discussion :

[FLASH 8] Tri d'un dataGrid par rapport à la date


Sujet :

Flash

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut [FLASH 8] Tri d'un dataGrid par rapport à la date
    Bonjour,

    j'ai un DataGrid avec plusieurs colonnes de formats différents (string, number, date(jj/mm/aaaa), ...)

    j'aimerai appliquer un tri personnalisé pour chacune des colunnes....


    cf cette question sur un autre forum que qq'1 à déposé :
    http://flash.media-box.net/lofiversion/index.php/t44405.html


    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut alors...
    bonjour,

    personne n'est inspiré par mon sujet ?

    je vais reformuler mon problème :
    j'aimerai utiliser une fonction de comparaison personnalisée lors de l'appel de la méthode : sortOn.

    Cela me permettrait de trier correctement la colonne date de mon dataGrid.


    merci d'avance

  3. #3
    Membre confirmé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Points : 558
    Points
    558
    Par défaut
    Salut,
    regardes du côté de filterFunc

    une des fonction que j'ai créer que tu peux peut-être adapter
    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
    filtreMois = new Object();
    filtreMois.change = function(moisFin) {
    	var M1 = sel_Mois.value;
    	var M2 = moisFin.target.value;
    	//if (M2 == "" || (M1 == 1 && M2 == 12)) {
    		//Stat_Dset.filtered = false;
    		//var n = Stat_Dg.dataProvider.length;
    	//} else {
    		Dset.filtered = true;
    		Dset.filterFunc = function(item:Object) {
    			return (item.mois>=M1 && item.mois<=M2);
    		};
    	//}
    };
    //Appel filtreMois
    sel_Mois2.addEventListener("change", filtreMois);
    La patience est un arbre aux racines amères, mais aux fruits ci-doux.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut
    en fait, je voudrai juste savoir, s'il est possible d'appliquer un tri particulier en fonction de la colonne ?

    sur la colonne nom, je souhaite appliquer un tri alpha
    sur la colonne date de naissance, un tri par date
    ...

    mais fonction de tri sont deja definit et ne me pose aucun pb....

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 274
    Points : 134
    Points
    134
    Par défaut
    voila la solution :

    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
    45
    46
    47
    48
    49
    50
     
    var myListener = new Object();
    myListener.headerRelease = function(event) {
    	if (event.columnIndex == 4) {
        		monTableau.sort(orderNaissance, event.target.sortDirection);
        		event.target.dataProvider = monTableau;
     
        	}
    };
    datagrid.addEventListener("headerRelease", myListener);
     
     
    public function orderNaissance(p1, p2):Number {
    	return orderDate(String(p1.dateNaissance), String(p2.dateNaissance));
    }
     
     
    public static function orderDate(d1:String, d2:String):Number {
    	var table1:Array = d1.split("/");
    	var table2:Array = d2.split("/");
     
    	var j1:Number = Number(table1[0]);
    	var j2:Number = Number(table2[0]);
    	var m1:Number = Number(table1[1]);
    	var m2:Number = Number(table2[1]);
    	var a1:Number = Number(table1[2]);
    	var a2:Number = Number(table2[2]);
     
    	if (a1 < a2) {
        		return -1;
         	} 
         	else if (a1 > a2) {
        		return 1;
         	} 
         	else if (m1 < m2) {
        		return -1;
         	}
         	else if (m1 > m2) {
        		return 1;
         	}
         	else if (j1 < j2) {
        		return -1;
         	}
         	else if (j1 > j2) {
        		return 1;
         	}
         	else {
        		return 0;
         	}
    }

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

Discussions similaires

  1. [Débutant] tri sélectif de matrices par rapport à un vecteur
    Par Lalaine dans le forum MATLAB
    Réponses: 4
    Dernier message: 26/03/2009, 21h27
  2. realiser un tri par rapport aux dates
    Par le_viet dans le forum Général VBA
    Réponses: 3
    Dernier message: 24/04/2007, 15h05
  3. tri par rapport à la date
    Par valer dans le forum Bases de données
    Réponses: 2
    Dernier message: 05/04/2007, 12h52
  4. Réponses: 4
    Dernier message: 02/01/2007, 13h35
  5. Réponses: 2
    Dernier message: 26/10/2006, 16h13

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