开发者

edit rich:extendedDataTable using rich:modalPanel

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>

On click of the the link the rich:modalPanel is populated with the values of the selected row. The content of the selected row is fetched correctly, but when the data in the modalpanel is edited, the value is not being reflected in the bean.

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();" >
 开发者_如何学JAVA                   </a4j:commandButton>
            </h:panelGrid>

Can Any one please help me out for this. I just need to know how the modalPanel values can be updated back to bean.


The problem was that the a4j:commandButton was not correctly placed inside the h:form. I could now find the updated values

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜