0
我有presnt產品列表的數據表:Primefaces數據表和按鈕調用的問題,
<p:dataTable var="product" value="#{myModel.products}"
scrollable="true" id="productsTableId" liveResize="true"
resizableColumns="true">
<f:facet name="header">
List of products
</f:facet>
<p:column headerText="Id" sortBy="id">
<h:outputText value="#{product.id}" >
</h:outputText>
</p:column>
<p:column headerText="Name" sortBy="name">
<h:outputText value="#{product.name}" title="#{product.name}" />
</p:column>
<p:column headerText="Remove product">
<p:commandButton icon="ui-icon-close" title="delete product"
value="Disconnect"
action="#{controller.delete(product)}"
update="productTableId">
<p:confirm header="Confirmation"
message="Are you sure you want to delete this product"
icon="ui-icon-alert" />
</p:commandButton>
</p:column>
</p:dataTable>
但問題是當我嘗試排序的數據表,該行改變他們的diplay訂單,但按鍵的功能保持最初的順序,即如果我兩款產品,例如:按名稱排序後
Id Name Remove product
1 B Delete B
2 A Delete A
Id Name Remove product
2 A Delete A
1 B Delete B
如果我點擊「刪除A」的產品B被刪除,這是PrimeFaces還是我的錯誤錯過了一些東西。
我在jetty-9.1.2上使用PrimeFaces 4.0,JSF Mojarra 2.1.20。
我認爲你需要重寫產品實體 –
上的hashCode()和equals()它已經完成,但沒辦法。 – Mifmif