我有<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
}