1
我有一個<rich:dataTable>
內的列,其中包含<a4j:commandButton>
刪除行。RichFaces dataTable行刪除
當通過commandButton的action
屬性調用bean的刪除函數(例如#{bean.deleteCar(record.carId)}
)時,刪除行可以正常工作。不幸的是,當使用<a4j:jsFunction>
的action
屬性時,最後一行的record.carId
被傳遞給bean,而不是選定的行。
澄清的一些代碼。下面刪除點擊行的汽車:
<a4j:commandButton value="Delete"
action="#{bean.deleteCar(record.carId)}"/>
下刪除最後一行的車:
<a4j:commandButton value="Delete"
onclick="#{rich:component('confirmDeletePane')}.show()">
<a4j:jsFunction name="deleteCar"
action="#{bean.deleteCar(record.carId)}"
oncomplete="#{rich:component('confirmDeletePane')}.hide();"
render="carsTable"/>
</a4j:commandButton>
<rich:popupPanel id="confirmDeletePane" header="Delete" modal="true" autosized="true" onmaskclick="#{rich:component('confirmDeletePane')}.hide();">
<h:outputText value="Delete?"/>
<h:panelGroup>
<a4j:commandButton value="Cancel" onclick="#{rich:component('confirmDeletePane')}.hide(); return false;" />
<a4j:commandButton value="OK" onclick="deleteCar(); return false;"/>
</h:panelGroup>
</rich:popupPanel>
正如你可以看到我想要確認刪除之前,用戶的選擇。 在此先感謝。
a4j:jsFunction不應嵌套在commandButton中。你應該在模態內傳遞值,然後在你的確認按鈕中將action屬性的值傳遞給作爲汽車ID的後備bean。 – 2012-07-31 00:26:12
@Ellie感謝您的評論。我嘗試了類似的東西:我使用將值直接傳遞給了後備bean。如果您有任何將值傳遞給模式(例如索引)的示例代碼,請隨時分享。 –
2012-08-02 15:20:12
我會嘗試創建自己的樣本,然後在這裏發佈代碼。 :) – 2012-08-03 01:19:10