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

  1. #1
    Membre du Club
    Inscrit en
    décembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : décembre 2006
    Messages : 116
    Points : 56
    Points
    56
    Par défaut Problème pour accéder a l'Id d'un composant situé sous rich:datatable
    Bonsoir a tous,
    Je suis débutant avec le développement Seam/JSF/RichFaces.
    Mon problème est comment on peut accéder a l'Id d'un composant situé sous un tableau rich:datatable pour le valider après une édition sur ce champ.
    Voici mon page PersonnelEdit.xhtml:
    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
    <h:form id="formedit">
    <rich:dataTable
    value="#{personnelHome.contratpersonnel}" var="cont"
    id="tablecontrat" rowKeyVar="cle"						columnClasses="classecolumm150,classecolumm100,classecolumm100,classecolumm100,classecolumm150,classecolumm100"
    rowClasses="rowpair,rowimpair">
    <rich:column headerClass="headermiddlefacet">
    <f:facet name="header">
    <h:outputText value="#{bundlep.listing_facet_type_deb_contrat}">
    </h:outputText>
    </f:facet>
    <h:outputText id="editdatedebut" styleClass="columnHeader"
    value="#{cont.date_debut_contrat}">
    <s:convertDateTime type="date" dateStyle="short" />
    </h:outputText>
    <s:decorate id="date_debut_contratDecor" template="layout/edittab.xhtml" rendered="#{personnelHome.editContrat}">
    <rich:calendar id="datedebutcontrat"
    value="#{cont.date_debut_contrat}" datePattern="dd/MM/yyyy"/>
    </s:decorate>
    </rich:column>
    </rich:dataTable></form>
    et voici mon code métier
    public void validateDateContrat(FacesContext context,
    UIComponent toValidate, Object value)
    {
    UIComponent datedeb = context.getViewRoot() .findComponent(
    "formedit:tablecontrat:date_debut_contratDecor:datedebutcontrat");

    }
    Si j'accède à un l'Id d'un composant situé sous un form/decorate/composant il marche trés bien.
    Est-ce-que le problème situé au niveau de composant rich:datatable (on ne peut pas accéder a des composants situé sous datatable) ?
    Merci beaucoup d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    juillet 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juillet 2007
    Messages : 75
    Points : 88
    Points
    88
    Par défaut
    En vitesse je dirais que le probleme c'est que dans la page html generé tu as plusieurs elements avec l'id date_debut_contratDecor et datedebutcontrat.
    Autant que le nombre d'element dans ta datatable en faite.

    Tu peux utiliser l'index (rowKeyVar) pour avoir un ID différent sur chaque ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    id="date_debut_contratDecor_#{cle}"

Discussions similaires

  1. [WebForms][User Controls] Problème pour accéder aux CSS
    Par BouB dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/12/2006, 16h35
  2. Problème pour accéder aux données ASP.net côté client
    Par mappy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/07/2006, 15h10
  3. [JSP] Problème pour accéder à un bean venant d'une servlet
    Par GLDavid dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/06/2006, 09h43
  4. Problèmes pour accéder à ma view...
    Par loupdeau dans le forum MFC
    Réponses: 4
    Dernier message: 18/05/2005, 14h43
  5. [Tomcat] Problème pour accéder à une servlet
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 08/04/2005, 13h56

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