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

Bibliothèques & Frameworks Discussion :

Trier un FilteringSelect [Dojo]


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Par défaut Trier un FilteringSelect
    Bonjour ,

    Je cherche à afficher la liste des valeurs présentes dans un FilteringSelect par ordre alphabétique ascendant. Actuellement, elles apparaissant dans l'ordre de chargement du store (un ItemFileReadStore).

    Je ne sais pas si c'est le FilteringSelect qu'il faut trier ou le store, mais dans les deux cas je ne sais pas comment faire : à l'aide !!!

    Merci beaucoup,

    yvan

  2. #2
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Salut,

    Dans la déclaration de ton FilteringSelect ajoute l'attribut fetchProperties:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select
    ...
        dojoType="dijit.form.FilteringSelect"
        autoComplete="true"
        pageSize="30"
        fetchProperties="{sort:[{attribute: 'name', descending: true}]}"
    > ...
    C'est en fait un tableau standard, avec par défaut le tri de la colonne effectué ascendant.

    Bon dev,

    ERE

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Par défaut
    Bonjour Emmanuel,

    Merci de ta réponse, toutefois ici çà fait de la résistance et j'ai toujours le "tiercé" dans le désordre. Entretemps, j'ai péniblement découvert qu'on pouvait utiliser un fecth sur l'ItemFileReadStore mais pas plus de succès.

    Si tu as encore un petit moment à accorder à mon pb, voici ma prose bancale :

    Source du dojo.data.ItemFileReadStore :
    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
     
    {
    	typesLieuAuteur: [
    		{
    			clair: "Tout type",
    			code: "999"
    		},
    		{
    			clair: "Domicile",
    			code: "DMC"
    		},
    		{
    			clair: "Contrôle",
    			code: "CTL"
    		},
    		{
    			clair: "Banque",
    			code: "BNQ"
    		},
    		{
    			clair: "Magasin",
    			code: "MGS"
    		}
    	]
    }
    ---------------------------------------------------

    Déclaration du FilteringSelect :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
     
    <table class="widgetTable">
    	<tr>
    		<th class="rowHeader">${i18nStrings.libTypeLieu}:</th>
    		<td colspan="2">
    			<select name="listTypeLieuAuteur" dojoType="dijit.form.FilteringSelect" title="${i18nStrings.libPromptSelListe}"/>
    		</td>
    	</tr>
    </table>
     
    ...
    ---------------------------------------------------

    Code javascript :

    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
    // Lecture de la structure Json:
    var dataAuteur = {
    	identifier: "clair",
    	label: "Type de lieu",
    	items: []
    }
     
    var initValue = null;
    var i = 0;
    dojo.forEach(this.configData.typesLieuAuteur, dojo.hitch(this, function(typeLieuAuteur) {
    	if (i++ === 0) {
    		initValue = typeLieuAuteur.clair;
    	}
     
    	dataAuteur.items.push(dojo.clone(typeLieuAuteur));
     
     
    }));
     
    // Déclaration et remplissage de l'ItemFileReadStore :
    var storeAuteur = new dojo.data.ItemFileReadStore({
    	data: dataAuteur
    });
     
    // Affectation du store au FilteringSelect :
    this.widgets.listTypeLieuAuteur.store = storeAuteur;
    this.widgets.listTypeLieuAuteur.searchAttr = "clair";
    this.widgets.listTypeLieuAuteur.attr("value",initValue);
    this.widgets.listTypeLieuAuteur.fetchProperties = "{sort:[{attribute: 'clair', descending: true}]}";
    ---------------------------------------------------

    Malgré le fetchProperties rajouté et testé à l'instant, la liste est toujours dans l'ordre de chargement de la structure Json.

    Merci de ton aide

    yvan

  4. #4
    Membre Expert
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Par défaut
    Re,

    Je ne comprends pas complètement la façon dont tu t'y prends (mix EL et Dom...) mais je crois que tu devrais plutôt inscrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.widgets.listTypeLieuAuteur.fetchProperties = {sort:[{attribute: 'clair', descending: true}]};
    car ce n'est pas une chaine qui est attendue mais un objet.

    ERE

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Par défaut
    Emmanuel,

    comme disait mon prof de maths : "Bourricot d'âne que tu es" !!! Je mérite cette boutade aujourd'hui !

    Merci mille fois : c'est effectivement un objet qu'il faut passer et pas une chaîne de caractères.

    Cette fois-ci c'est tout bon

    Heureuse et joyeuse fête de fin d'année

    yvan

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

Discussions similaires

  1. [ STRUTS ][ JSP ][ ArrayList] un lien pour trier
    Par LoulouFifi dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 03/02/2004, 17h24
  2. Trier aléatoirement un résultat de requête
    Par ang36 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/01/2004, 17h38
  3. trier les données dans le cache ??
    Par psyco2604 dans le forum XSL/XSLT/XPATH
    Réponses: 31
    Dernier message: 10/06/2003, 10h03
  4. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22
  5. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51

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