0

datatable に表示される製品のリストがあり、以下で説明するようにポップアップで datatable の特定の行を編集したい

すべての従業員の詳細を含むデータテーブル。各行には編集ボタンがあります。編集ボタンをクリックすると、クリックした特定の製品の既存の情報を含む新しいポップアップが表示され、編集後、その特定のオブジェクトの変更がデータテーブルにもリストします。

苦労していますが、編集した製品の変更を保存できませんでした。ポップアップを開くと、選択した項目のプロパティが表示されますが、プロパティを変更しても何も変わりません。これが私のjsfコードです。

<a4j:outputPanel ajaxRendered="true">
    <h:dataTable id="table1" value="#{productBean.products}" var="item"
        styleClass="resultTable" headerClass="resultTableHeader"
        rowClasses="resultTableRow">
        <h:column>
            <f:facet name="header">
                <h:outputText value="Part#" />
            </f:facet>
            <h:outputText value="#{item.partNumber}" />
        </h:column>

        <h:column>
            <f:facet name="header">
                <h:outputText value="Product Description" />
            </f:facet>
            <h:outputText value="#{item.description}" />
        </h:column>
        <h:column>  
        <a4j:commandButton value="Edit" action="#{productBean.setEditItem(item)}" oncomplete="#{rich:component('popup')}.show()"> </a4j:commandButton>

                    <rich:popupPanel  id="popup" modal="true" resizeable="true"
                onmaskclick="#{rich:component('popup')}.hide()">
                <f:facet name="header">
                    <h:outputText value="Edit property of the product" />
                </f:facet>
                <f:facet name="controls">
                    <h:outputLink value="#"
                        onclick="#{rich:component('popup')}.hide(); return false;">
                      X
                  </h:outputLink>
                </f:facet>
                <!-- editProduct ı burda item yerine kullan  -->                    
                <table style="align: center;">
                    <tr>
                        <td><h:panelGrid columns="2">
                                <h:outputText value="Description"></h:outputText>
                                <h:inputText value="#{productBean.item.description}"></h:inputText>
                            </h:panelGrid></td>
                    </tr>
                    <tr>
                        <td><h:panelGrid columns="2">
                                <h:outputText value="Part Number"></h:outputText>
                                <h:inputText value="#{item.partNumber}"></h:inputText>
                            </h:panelGrid></td>
                    </tr>
                </table> 
                    <a4j:commandButton value="Submit" action="#{productBean.actionEditProductsFromDatabase(item)}"  execute="@popup"/>
                    <a4j:commandButton value="Cancel" onclick="#{rich:component('editPane')}.hide(); return false;" />
            </rich:popupPanel>
        </h:column>
    </h:dataTable>

</a4j:outputPanel>

</h:form>
4

1 に答える 1