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

JSF Java Discussion :

Récupération de toutes les lignes affichées dans un rich:dataTable


Sujet :

JSF Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut Récupération de toutes les lignes affichées dans un rich:dataTable
    Bonjour,

    J'ai un rich:dataTable lié à une propriété de type Collection<EntitybeanHibernate> de mon backingbean et qui comporte des filtres sur les colonnes (filterBy).

    Ce filtre va servir à sélectionner un jeu d'enregistrements que je souhaite supprimer sur click d'un a4j:commandLink. Ce a4j:commandLink a comme action un doDeleteSelected de mon backingbean qui s'occupe de supprimer les enregistrement.

    A priori j'aborderai le problème de la manière suivante:
    - binding du dataTable avec une propriété de mon backingbean
    - parcours la liste des éléments affichés de mon dataTable
    - suppression

    Mon soucis: je ne vois pas de getter sur le dataTable qui me permettrai d'obtenir la liste des élément affichés dans celui-ci.

    Une idée? ou une autre manière de faire?
    Merci.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par dachman Voir le message

    A priori j'aborderai le problème de la manière suivante:
    - binding du dataTable avec une propriété de mon backingbean
    - parcours la liste des éléments affichés de mon dataTable
    - suppression

    Mon soucis: je ne vois pas de getter sur le dataTable qui me permettrai d'obtenir la liste des élément affichés dans celui-ci.

    Une idée? ou une autre manière de faire?
    Merci.
    tu ne le vois pas où le getter?? si tu ajoutes le binding à toi de créer le getter et le setter..
    sinon tu n'a pas besoin de binding,
    une petite lecture de la te permettra de trouver une solution pour récupèrer une ligne de la dataTable, il y'a même trois solutions proposées.
    Ensuite le reste est facle tu supprime la ligne de la liste et c'est terminé

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Merci Sniper37,

    pour ce qui est du getter, je voulais bien sûr parler de celui qui me ramènerait les lignes de la dataTable et pas de celui me retournant ma dataTable
    donc un truc du style myDataTable.getDatas() qui me ramènerait une Collection< EntitybeanHibernate>.

    J'ai lu cette partie de la FAQ avant de poster cette discussion mais comme tu le dis, il n'est présenté que des solutions pour récupérer LA ligne courante de la dataTable alors que je veux récupérer TOUTES les lignes de mon dataTable filtré. (qui à l'affichage de la page n'est pas filtré, le filtre ne se fait que sur action de l'utilisateur dans un champ de l'entête de la colonne)

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu veux faire le traitement que sur les lignes filtrées ?
    si tu utilise l'external filtering c'est possible parceque tu contrôle les lignes affichés, sinon je ne pense pas que ce soit possible.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Ok, je n'utilise pas l'external filtering.

    Je vais regarder de ce coté.
    Encore merci.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut
    Ok.
    Voila, comment je m'en suis sorti.

    J'ai donc bindé ma DataTable avec une propriété de mon backingbean.

    J'ai ensuite parcouru le contenu de mon DataTable en faisant un setRowKey en partant de l'indice 0 jusqu'à RowCount. Le RowCount, contenant le nombre de lignes affichées dans la DataTable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	final List<entitybean> assignmentList = new ArrayList<entitybean>();
    	for (int j = 0; j < dataTable.getRowCount(); j++) {
    	    dataTable.setRowKey(j);
    	    if (dataTable.isRowAvailable()) {
    		assignmentList.add((entitybean) dataTable.getRowData());
    	    }
    	}
    A l'origine, j'étais parti sur une solution avec un ExtendedDataTable puis l'utilisation des "Selection" mais je ne suis pas parvenu à en faire ce que je voulais. au final c'est plutôt simple comme fonctionnement mais pas trivial à trouver. Je ne comprends toujours pas pourquoi il n'y a pas un getRows qui renverrai les lignes de la DataTable...
    Autre point à souligner durant mes recherche: la doc RichFaces est plus que simpliste (énumération des méthodes et des propriétés des classes sans aucun commentaire la plupart du temps...) ou alors, je n'ai pas consulté les bons sites mais j'en doute.

    Voilou, j'espère que ça pourra aider.

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

Discussions similaires

  1. [MySQL] problème pour récupérer toutes les lignes contenue dans un select
    Par Baleze dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2012, 20h42
  2. [Dev-Pascal] Afficher toutes les lignes dans la fenêtre d'exécution
    Par ryuphenix dans le forum Autres IDE
    Réponses: 3
    Dernier message: 14/08/2010, 13h13
  3. Réponses: 7
    Dernier message: 11/04/2009, 10h41
  4. connaître les lignes affichées dans un textbox
    Par TERRIBLE dans le forum Framework .NET
    Réponses: 1
    Dernier message: 15/01/2009, 00h07
  5. Réponses: 1
    Dernier message: 29/11/2005, 00h37

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