我正在使用richfaces数据表。
要编辑rich:datatable,我使用了以下行
<a4j:commandLink
styleClass="no-decor"
reRender="machineDisplayTable"
value="edit"
oncomplete="#{rich:component('editMyMachinePanel')}.show()">
<f:setPropertyActionListener
target="#{machineTable.myMachineToEdit}"
value="#{Machine}"/>
</a4j:commandLink>
其中“machineDisplayTable”是datatable的id,“editMyMachinePanel”很丰富:modalpanel,“machineTable”是bean类,“myMachineToEdit”是类型机器的类。
现在,在rich:modelpanel中,我正在打印“machineTable.myMachineToEdit.hostname”,我什么都没得到。 modelpanel的代码为:
<rich:modalPanel id="editMyMachinePanel" autosized="true">
<f:facet name="header">
<h:outputText value="#{machineTable.myMachineToEdit.hostname}" />
</f:facet>
<a4j:commandButton value="Cancel" onclick="#{rich:component('editMyMachinePanel')}.hide(); return false;" />
</rich:modalPanel>
似乎第一个面板正在渲染,然后通过f:setPropertyActionListener将值赋给machineTable.myMachineToEdit。
无论如何,我可以先分配machineTable.myMachineToEdit,然后再渲染modalpanel。
两个imp网站,关于相同的是:
和
http://binamebou.be/phoenix-framework/wiki/index.php5?title=Richfaces_FAQ
第二个链接(设置操作)中提供了一个解决方案,但在我的情况下也不起作用。
答案 0 :(得分:3)
在您的情况下,您应该在按a4j:commandLink时重新调整面板。不是表格。
重新呈现= “editMyMachinePanel”