Bonjour,
j'ai une datatable avec une case à cocher qui me permet de modifier les valeurs de la ligne courante. En cliquant sur cette case à cocher, j'ouvre un nouveau formulaire (cette partie marche !) mais je n'arrive pas à récupérer les valeurs de la ligne correspondante de ma datatable. Comment faire (je suis débutant en JSF). Voici un extrait du code :
function modifier(description,prix) {
document.getElementById("creerForm").style.display = "none";
document.getElementById("modifForm").style.display = "block";
document.getElementById("supprForm").style.display = "none";
document.getElementById("showForm").style.display = "none";
document.getElementById("modifDescrip").value = description;
document.getElementById("modifPrix").value = prix;
}
<h:form>
<div style="height:306px; width=50%; overflow-x:auto; overflow-y:auto">
<h:dataTable id="disques" columnClasses="column-left, column-left, column-left,
column-left, column-left, column-left" headerClass="list-header"
rowClasses="list-row" value="#{disqueBean.tousDisques}" var="store" bgcolor="#F1F1F1" border="10"
cellpadding="5" cellspacing="3" first="0" rows="10" width="100%" dir="ltr" frame="hsides" rules="all">
<f:facet name="header">
<h:outputText value="#{msg.listeDisque}" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeTitreLabel}"/>
</f:facet>
<h:outputText value="#{store.titre}" id="titre"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeCategtLabel}"/>
</f:facet>
<h:outputText value="#{store.categorie}" id="categorie"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeFormatLabel}"/>
</f:facet>
<h:outputText value="#{store.diskFormat}" id="format"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeCreationLabel}" />
</f:facet>
<h:outputText value="Le " />
<h:outputText value="#{store.datCreation}" id="datCreat">
<f:convertDateTime pattern="dd/MM/yyyy" type="date" />
</h:outputText>
<h:outputText value=" à " />
<h:outputText value="#{store.heuCreation}" id="heuCreat">
<f:convertDateTime pattern="HH:mm:ss" type="date" />
</h:outputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeAffiLabel}" />
</f:facet>
<h:selectBooleanCheckbox onclick="afficher()" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeModifLabel}" />
</f:facet>
<h:selectBooleanCheckbox onclick="modifier('description','prix')" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg.storeSupLabel}" />
</f:facet>
<h:selectBooleanCheckbox onclick="supprimer('description','prix')" />
</h:column>
<f:facet name="footer">
<h:outputText value="#{msg.storeFinLabel}" />
</f:facet>
</h:dataTable>
</div>
</h:form>
<h:form id="modifForm">
<h:inputHidden id="modifId" value="id" />
<h:panelGrid columns="3" columnClasses="list-column-left" >
<h:outputLabel value="#{msg.storeTitreLabel}" />
<h:inputText value="#{disqueBean.titre}" required="true" id="titre" />
<h:outputLabel value="#{msg.storeCategtLabel}" />
<h:inputText value="#{disqueBean.categorie}" id="categ" />
<h:outputLabel value="#{msg.storeSubjectLabel}" />
<h:inputTextarea value="#{disqueBean.description}" />
<h:outputLabel value="#{msg.storeDateLabel}" />
<h:inputText value="#{disqueBean.date}" maxlength="4" />
<h:outputLabel value="#{msg.storeDureeLabel}" />
<h:inputText value="#{disqueBean.duree}" />
<h:outputText value="#{msg.minute}" />
<h:outputLabel value="#{msg.storeFormatLabel}" />
<h:inputText value="#{disqueBean.diskFormat}" />
<h:outputLabel value="" />
<h:commandButton action="#{disqueBean.modifierDisque}" value="#{msg.boutonModif}" />
<h:outputLabel value="" />
<h:commandButton value="#{msg.boutonCancel}" type="reset" onclick="abandonner()"/>
</h:panelGrid>
</h:form>
Merci pour vos réponses
Partager