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 :

[Java, Jsf, Richfaces, Javascript] Checkbox


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 44
    Points : 33
    Points
    33
    Par défaut [Java, Jsf, Richfaces, Javascript] Checkbox
    Bonjour,

    actuellement, j'utilise les technologies jsf et richfaces pour mettre en place un tableau avec une colonne contenant une checkbox sur chaque ligne. En entête de cette colonne, j'ai une checkbox dite globale qui dès lors qu'on la coche coche toutes les autres.

    code la page html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <rich:column width="5%" label="action" id="colonne_checkbox">
    						<h:selectBooleanCheckbox id="selectElement" value="#{Action.checkbox}" 
    							<a4j:support event="onclick" action="#{Action.selected}" reRender="#{Action.checkbox}" process="exportPdf" />
    						</h:selectBooleanCheckbox>
    						<f:facet name="header">
    							<h:selectBooleanCheckbox id="selectAllElement" value="#{Action.checkboxAll}" >
    								<a4j:support event="onclick" action="#{Action.cocherAll}" process="selectAllElement" reRender="selectElement"/>
    							</h:selectBooleanCheckbox>
    						</f:facet>
    					</rich:column>
    				</rich:extendedDataTable>

    Pour cela, j'ai utilisé des requêtes serveurs avec un code qui est celui-ci :
    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
    public void selected(){
    		listSelect.add(extendedDataTable.getRowData());
    	}
     
    		public void cocherAll(){
     
    		int size=extendedDataTable.getRowCount();
    		if(checkboxAll){
    			for(int i=0;i<size;i++){
    				this.extendedDataTable.setRowIndex(i);
    				this.checkbox = true;
    			}
    		}else{
    			for(int i=0;i<size;i++){
    				this.extendedDataTable.setRowIndex(i);
    				this.checkbox = false;
    			}
    		}
    	}
    Cependant, cela alourdi mon appli car les requêtes sont fait coté serveur. J'aimerais pouvoir faire cela coté javascript mais je ne vois pas trop comment. Si quelqu'un pouvait m'aider.

    De plus, lorsque l'on clique la checkobx globale, toutes les autres checkbox doivent être cochées. et quand on en décoche une, la checkbox globale doit être décochée mais je n'arrive pas à mettre en place cette action.

    Si quelqu'un pouvait m'aider... Merci beaucoup par avance !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    Je n'ai pas testé le lien suivant, mais peut être ca te donnera une idée de départ?

    http://community.jboss.org/wiki/Rich...atableCheckbox

  3. #3
    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
    Points : 5 059
    Points
    5 059
    Par défaut
    ton tableau contient combien de ligne??

    ça ne doit pas prendre beaucoup de temps d'exécution, s'il y'a uen solution jaavscript, elle sera plus compliquée et difficile à maintenir.

    Une solution plus simple consiste à ajouter dans ton objet de la table un boolean qui représente la booleanCheckBox et si tu récupère l'objet directement d'une base de données, tu peux ajouter une liste de booléen de la même taille de la dataTable.
    Dans chaque ligne tu peux avoir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectBooleanCheckbox value="#{list.selected}" id="radio">
    <a4j:support event="onselect" reRender="table" />
    </h:selectBooleanCheckbox>
    selected est l'attribut du bean qui représente le fait que la ligne a été selectionnée ou pas.

    Pour tout sélectionner, un checkBox dans le header et une action qui parcoure toute la liste pour mettre ce booléen à true.

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    J'avais déjà été confronté à ce souci dans un projet, si ton tableau est statique alors tu pourras le faire en js, mais je bloquais en js parceque le nombre d'éléments du tableau pouvait augmenter sur un clic. Si les lignes de ton tableau n'augmentent pas entre le chargement et la sauvegarde de la page, alors voila ce que tu vas faire:
    -Tu génères le code source de la page et regarde le DOM crée, tu verras les id des champs générés , et tu crées une fonction js qui est automatiquement appelée pour gerer tes checkbox. Tu peux nous montrer ce code source si tu veux.

Discussions similaires

  1. [JSF+Richfaces] Raffraichissement checkbox
    Par toMuch dans le forum JSF
    Réponses: 0
    Dernier message: 01/09/2010, 14h36
  2. [jsf, richfaces, ajax] Sélection de checkbox.
    Par toMuch dans le forum JSF
    Réponses: 3
    Dernier message: 27/08/2010, 09h27
  3. [Mission] Formateur Java J2EE/JSF/Richfaces
    Par Sniper37 dans le forum Demandes
    Réponses: 0
    Dernier message: 04/03/2010, 12h17
  4. [javascript] checkbox et onCheck
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/10/2005, 16h48
  5. Com entre une appli java et du javaScript dans du Html
    Par bpy1401 dans le forum Applets
    Réponses: 1
    Dernier message: 20/07/2005, 10h54

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