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 :

[debutant][RichFaces] - scrollableDataTable et selection


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut [debutant][RichFaces] - scrollableDataTable et selection
    Bonjour,

    J'essaye de comprendre comment cela fonctionne, mais sans succes.
    voila ce que j'ai fait :

    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 class Personne {
    	private Integer _id;
    	private String _prenom;
    	private String _nom;
     
    	public Personne(){}
     
    	public Personne(Integer _id, String _prenom, String _nom) {
    		super();
    		this._id = _id;
    		this._prenom = _prenom;
    		this._nom = _nom;
    	}
     
    getters and setters ...
    ...
    ...
    }
    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
     
    public class Personnes {
    	private List<Personne> _lst = new ArrayList<Personne>();
    	private Selection _row;
     
    	public Personnes(){
    		_lst.add(new Personne(1,"Dupont","jean"));
    		_lst.add(new Personne(2,"Dupont2","jean"));
    		_lst.add(new Personne(3,"Dupont3","jean"));
    		_lst.add(new Personne(4,"Dupont4","jean"));
    		_lst.add(new Personne(5,"Dupont5","jean"));
    		_lst.add(new Personne(6,"Dupont6","jean"));
    		_lst.add(new Personne(7,"Dupont7","jean"));
    	}
     
    	public List<Personne> get_lst() {
    		return _lst;
    	}
     
    	public void set_lst(List<Personne> _lst) {
    		this._lst = _lst;
    	}
    	public Selection get_row() {
    		return _row;
    	}
     
    	public void set_row(Selection _row) {
    		System.out.println("Setting Started");
    		this._row = _row;
    		System.out.println("Setting Complete");
    	}
    }
    et ma page:
    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
     
    <h:form> 
     
    <rich:scrollableDataTable  border="0" var="list"
    		value="#{personnes._lst}" id="table"
    		rowKeyVar="rkv"
    		width="400px"
    		height="150px"
    		selection="#{personnes._row}">	
    	<rich:column sortBy="#{list._id}">
    		<h:outputText value="#{list._id}" />
    	</rich:column>
    	<rich:column filterEvent="onkeyup" filterBy="#{list._nom}">
    		<h:outputText value="#{list._nom}" />
    	</rich:column>
    	<rich:column>
    		<h:outputText value="#{list._prenom}" />
    	</rich:column>
     
    	<!-- déclaration des colonnes -->
    </rich:scrollableDataTable>
    </h:form>
    En faite, rien de ce passe, lorsque je selectionne un ligne. personnes._row() n'est pas executé,

    Je commprends pas pourquoi, manqu'il quelquechose ? Ou peut-on trouver des exemples avec les sources ?
    car, j'ai trouvé : http://livedemo.exadel.com/richfaces...lableDataTable
    mais il n'y a les sources des beans....

    Merci d'avance.

  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
    tu peux prendre le war et les sources .

  3. #3
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    Merci, c'est cool...

    Par contre, je n'arrive toujours pas a comprendre pourquoi ça ne fonctionne pas !!!

    J'ai ajouté, UIScrollableDataTable, et remplacé le Selection par un SingleSelection.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <rich:scrollableDataTable  border="0" var="list"
    		value="#{personnes._lst}" id="table"
    		rowKeyVar="rkv"
    		width="400px"
    		height="150px"
    		binding="#{personnes.table}"
    		selection="#{personnes._selectRow}"
        	>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	public SimpleSelection get_selectRow() {
    		System.out.println("Getter select");
    		System.out.println(_selectRow.size());
    		return _selectRow;
    	}
     
    	public void set_selectRow(SimpleSelection row) {
    		System.out.println("Setting Started");
    		this._selectRow = row;
    		System.out.println("Setting Complete");
    	}
    Au chargement de la page, le get_selectRow est appelé, pourquoi ??
    et quand je clique sur une ligne de ma table, elle est bien surlignée, mais pas de message dans le fichier stdout !!!

    Une petite piste me serait bien utile...

    Merci d'avance.

  4. #4
    Membre éclairé Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Par défaut
    J'ai supprimé
    - binding="#{personnes.table}"
    et ça fonctionne impeccable.

    Sauf que lorsque je clique sur un row les infos ne sont pas raffraichi dans le panel... alors que j'ai les bonne info dans le bean.

    voila mon code :
    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
     
    <h:form> 
    <rich:messages></rich:messages>   
    <rich:scrollableDataTable  border="0" var="list"
    		value="#{personnes._lst}" id="tbl"
    		rowKeyVar="rkv"
    		width="400px"
    		height="150px"
    		selection="#{personnes._selectRow}">
    		<a4j:support event="onRowClick" action="#{personnes.takePersonne}" 
                    oncomplete="javascript:Richfaces.showModalPanel('mhjgfjk');"/>	  
     
    	<rich:column sortBy="#{list._id}">
          	<f:facet name="header">ID</f:facet>
    		<h:outputText value="#{list._id}" />
    	</rich:column>
    	<rich:column>
          	<f:facet name="header">Nom</f:facet>
    		<h:outputText value="#{list._nom}" />
    	</rich:column>
    	<rich:column>
    	  	<f:facet name="header">Prenom</f:facet>
    		<h:outputText value="#{list._prenom}" />
    	</rich:column>
     
    	<!-- déclaration des colonnes -->
    </rich:scrollableDataTable>
    <a4j:commandButton value="Show" reRender="panel" 
                    action="#{personnes.takePersonne}" 
                    oncomplete="javascript:Richfaces.showModalPanel('mhjgfjk');"/>
    </h:form>
    <rich:modalPanel id="mhjgfjk">
    	        <f:facet name="controls">
    				<span style="cursor:pointer" onclick="Richfaces.hideModalPanel('mhjgfjk'); return false;">X</span>
    	        </f:facet>
    	        <f:facet name="header">
    	            Selection Row
    	        </f:facet>
    	            <h:panelGrid columns="2">
    		        	<h:outputText value="ID" style="font-style:bold"></h:outputText>
    		        	<h:outputText value="#{personnes._id}"/>
    		        	<h:outputText value="nom" style="font-style:bold"></h:outputText>
    		        	<h:outputText value="#{personnes._name}"/>
    		        	<h:outputText value="Prenom" style="font-style:bold"></h:outputText>
    		        	<h:outputText value="#{personnes._prenom}"/>
    	            </h:panelGrid>
    </rich:modalPanel>
     
    </f:view>
    merci d'avance

Discussions similaires

  1. [Debutant] Probleme sur un select
    Par Flamby38 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 29/01/2008, 14h57
  2. [DEBUTANT] procédure stockées dans select
    Par wrapx dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/06/2006, 19h08
  3. [Debutant][Requete] problème de select
    Par Super Castor dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/02/2006, 17h42
  4. Réponses: 2
    Dernier message: 14/12/2005, 17h08
  5. [DEBUTANT][STRUTS] Initialiser html:select
    Par mlequim dans le forum Struts 1
    Réponses: 13
    Dernier message: 25/10/2005, 14h59

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