在行选择上更新primefaces数据表

时间:2015-07-09 20:25:10

标签: jsf jsf-2 primefaces

我有<p:datatable>,用户可以在其中选择与行对应的单选按钮以更新该行。截至目前,我通过让用户单击调用方法的按钮来填充另一个数据表,其中包含要编辑的信息。但是,当用户单击所需行的单选按钮时,我希望将第二个数据表填充到右侧。

<h:form id="dataForm">
    <p:panel styleClass="center" id="dataPanel">
        <!-- This is where the results of the search are displayed. -->
        <p:dataTable id="metadataitems" var="result"
            value="#{updateMetadataItemsBean.results}" styleClass="center"
            resizableColumns="true"
            selection="#{updateMetadataItemsBean.selectedMetadataItem}"
            rowKey="#{result.rowKey}" rendered="#{updateMetadataItemsBean.show}">
            <p:ajax event="rowSelectRadio" listener="#{updateMetadataItemsBean.prepareEdit}" />
            <p:column headerText="Select Item to Update" selectionMode="single" update="dataForm"></p:column>
        </p:dataTable>
    </p:panel>
    <p:panel styleClass="centered" id="dataPanel2"
        style="font-size:.75em;">
        <p:messages id="message2" showDetails="true" />
        <p:dataTable value="" var="metadataitemsInput" id="editTable">
            <!--This is what I want to update-->
        </p:dataTable>
        <p:commandButton id="submit" value="Submit"
            action="#{updateMetadataItemsBean.edit}"
            update="message2, dataForm:dataPanel" />
        <p:commandButton id="delete" value="Delete"
            action="#{updateMetadataItemsBean.delete}"
            update="message2, dataForm:dataPanel" />
    </p:panel>
</h:form>

一旦用户点击其中一个单选按钮,我就找不到调用方法的方法。

这是它应该调用的方法:

public void prepareEdit(SelectEvent e) {
        //set variables that are references by <p:inplace> in datatable
    }

0 个答案:

没有答案