2011-09-23 22 views
0
I have a <code>rich:extendedDataTable</code>. Each row has a a4j:commandLink as below. 

Table Page: 

    <a4j:commandLink  
     id="editlink" oncomplete="#{rich:component('editPanel')}.show()" 
     reRender="editPanel"> 

    <f:setPropertyActionListener value="#{archive}" 
     target="#{archiveOrderBean.currentOrder}" /> 

    <f:setPropertyActionListener value="#{row}" 
     target="#{archiveOrderBean.currentRow}" /> 

    <h:graphicImage value="/images/edit.png" 
     style="border:0;vertical-align: top;" /> 

    </a4j:commandLink> 

單擊鏈接時,rich:modalPanel將填充所選行的值。所選行的內容被正確提取,但是當modalpanel中的數據被編輯時,該值不會反映在bean中。編輯rich:使用rich的extendedDataTable:模式面板

Bean Getter and Setter: 

    <code>public ArchiveOrderModel getCurrentOrder() { 
     return currentOrder; 
    } 

    public void setCurrentOrder(ArchiveOrderModel currentOrder) { 
     this.currentOrder = currentOrder; 
    } 
    </code> 

ModalPanel Page : below contents are included in the <code>rich:modalPanel</code>  and  <code>h:form</code> 

    <h:panelGrid columns="1"> 
       <a4j:outputPanel> 
        <h:panelGrid columns="2"> 
         <h:outputText value="Name" /> 
         <h:outputLabel value="SL_#{archiveOrderBean.currentOrder.structureId}" /> 
         <h:outputText value="Client" /> 
         <h:inputText value="#{archiveOrderBean.currentOrder.customer}" style="width:200px"/> 
         <h:outputText value="DateCreated" /> 
         <h:outputText value="#{archiveOrderBean.currentOrder.date}" style="width:200px" /> 
         <h:outputText value="Description" /> 
         <h:inputText value="#{archiveOrderBean.currentOrder.version}" style="width:200px" /> 
         <h:outputText value="Order Desription" /> 
         <h:inputText value="#{archiveOrderBean.currentOrder.orderType}" style="width:200px" /> 
        </h:panelGrid> 
        <rich:message showSummary="true" showDetail="false" for="price" /> 
       </a4j:outputPanel> 
       <a4j:commandButton value="Update" 
        action="#{archiveOrderBean.updateStruct}" 
        reRender="auftragListNew" 
        oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('editPanel')}.hide();" > 
        </a4j:commandButton> 
      </h:panelGrid> 

Can任何人都可以幫我解決這個問題。我只需要知道如何將modalPanel值更新回bean。

回答

0

問題在於a4j:commandButton未正確放置在h:窗體內。我現在可以找到更新後的值