редактировать rich: extendedDataTable, используя rich: modalPanel - PullRequest
0 голосов
/ 23 сентября 2011
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 заполняется значениями выбранной строки.Содержимое выбранной строки выбирается правильно, но когда данные в модальной панели редактируются, значение не отражается в компоненте.

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>

Может Кто-нибудь, пожалуйста, помогите мне в этом.Мне просто нужно знать, как значения modalPanel могут быть обновлены обратно в bean-компонент.

1 Ответ

0 голосов
/ 26 сентября 2011

Проблема заключалась в том, что кнопка a4j: commandButton была неправильно размещена внутри формы h :.Теперь я могу найти обновленные значения

...