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 :

Filtrer les résultats d'un tableau avec FilteringSelect


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 97
    Par défaut Filtrer les résultats d'un tableau avec FilteringSelect
    Bonjour à tous,
    J'ai actuellement un tableau (HTML) contenant une liste de clients (qui peut donc être assez grand ), et je désirerais placer un "filtre" juste au dessus de ce tableau pour n'afficher que les résultats souhaités.

    Je m'explique :
    Admettons que j'ai un tableau contenant la liste de clients suivante :
    - ALFRED
    - BERNARD
    - MICHEL
    - MICKAEL
    j'ai donc un tableau avec 4 lignes.
    J'aimerais que dès que je commence à taper la lettre "M" par exemple, je n'ai plus qu'un tableau à 2 lignes contenant "MICHEL" et "MICKAEL".

    Voici mon code actuel :
    Mon FilteringSelect :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <s:select
                list="clientsList"
                listValue="%{nom + ' '+prenom}"
                data-dojo-type="dijit.form.FilteringSelect"
                data-dojo-props="fetchProperties:{sort:[{attribute: 'nom', ascending: true}]}"
                />
    Mon tableau contenant ma liste :
    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
    <table class="tableList">
                <thead>
                    <tr>
                        <th class="tableId">ID</th>
                        <th>Nom</th>
                        <th>Prénom</th>
                        <th class="tableActions" colspan="2"> 
                            <s:a href="add">
                                <img class="edit" src="<%=Constantes.REP_IMG%>/btn_td_add.png" title="Créer un nouveau patient" />
                            </s:a>
                        </th>
                    </tr>
                </thead>
                <s:iterator value="clientsList">
                    <tr>
                        <td class="tdValId"><s:property value="id" /></td>
                        <td><s:property value="nom" /></td>
                        <td><s:property value="prenom" /></td>
                        <td class="tdActions">
                            <s:a href="edit?id=%{id}">
                                <img class="edit" src="<%=Constantes.REP_IMG%>/btn_td_update.png" title="Modifier" />
                            </s:a>
                        </td>
                        <td class="tdActions">
                            <s:a href="client_delete?id=%{id}" onclick="return(confirm('Etes-vous sûr de vouloir supprimer cette entrée?'))">
                                <img class="del" src="<%=Constantes.REP_IMG%>/btn_td_delete.png" title="Supprimer" />
                            </s:a>
                        </td>
                    </tr>
                </s:iterator>
            </table>
    Je n'ai pas vraiment d'idées sur comment effectuer ceci, toutes aide et idées seront donc les bienvenues

    Merci d'avance

  2. #2
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Par défaut
    Je pense qu'il faut chercher du côté du dataStore.
    Il faut y mettre les données.
    On peut effectuer un filtre et "connecter" le dataStore avec un grid.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 97
    Par défaut
    Bonjour,
    Citation Envoyé par Le Roux B. Voir le message
    On peut effectuer un filtre et "connecter" le dataStore avec un grid.
    Pour les grid justement, on est obligé de passer par un fichier (JSON ou autre) ?

  4. #4
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2005
    Messages : 135
    Par défaut
    Je ne sais pas ce que tu entends par "fichier".
    On peut faire un peu comme on veut.
    Cependant, ma petite expérience d'utilisation avec Dojo montre qu'il est préférable d'utiliser dataStore. Au début, j'ai trouvé cela contraignant mais à l'usage, on s'y retrouve plus facilement lorsqu'il y a des modifications à apporter sur le structure du grid par exemple.
    DataStore est une interface (au sens Java) générale de manipulation de données dont le filtrage.
    Un certain nombre d'implémentation existe :
    http://dojotoolkit.org/reference-gui...tml#dojox-data

    Peut être, celle ci t'intéressera plus particulièrement
    http://dojotoolkit.org/reference-gui...htmltablestore

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 97
    Par défaut
    Au sens de fichier, j'entends un fichier physique (.json, .cvs etc...) comme j'ai vu sur tous les exemples jusqu'a présent.

    Ce qui m'intéresserait , c'est de remplir mon tableau directement à partir d'une liste Java (Arraylist ou autre ...), en gardant la logique de Struts 2
    Merci pour tes liens, je vais regarder ca

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2010
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 322
    Par défaut
    Bonjour,

    Il existe un moyen de filtrer rapidement dans un dataGrid. Voici la fonction que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function filtrer(){
    		tableau = dijit.byId('monDataGrid');
    		valeur = dijit.byId('monChampsFiltre').get('value');
    		tableau.setQuery({colonneDuDataGrid:'*'+valeur+'*'});
    }
    Je pense que cette façon de faire est adaptable uniquement dans la mesure où il y a un datastore connecté. S'il s'agit d'un tableau HTML "basique" le seul moyen c'est de le rafraichir via un appel ajax... Par contre si c'est un tableStore je pense que c'est réalisable.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Filtrer les résultats avec un MAX et un GROUP BY ?
    Par JackyJack's dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/09/2012, 13h37
  3. Réponses: 8
    Dernier message: 02/03/2007, 16h37
  4. [Tableaux] Filtrer les clés d'un tableau
    Par Djakisback dans le forum Langage
    Réponses: 4
    Dernier message: 24/10/2006, 11h42
  5. Réponses: 1
    Dernier message: 13/04/2005, 14h41

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