0
我在p:datatable中使用排序,最後一列是編輯。 其工作正常,直到排序按下。只要我進行分類,它表現得異常。 編輯它給錯誤的對象。 belwo是我的數據表。在p:datatable中排序表現異常
<h:form>
<h:inputHidden value="#{countryBean.initList}" />
<p:dataTable id="existingCountry1" var="countryLang" value="#{countryBean.myexistingCountryList}" style="width: 100%" styleClass="role_detail_section"
rowStyleClass="activity_white, activity_blue" cellspacing="0" cellpadding="0" border="0" rows="6" paginator="true">
<p:column width="30%" headerText="Country " sortBy="countryName">
<h:outputLabel value="${countryLang.countryName}" />
</p:column>
<p:column width="30%" headerText="Country Code " >
<h:outputLabel value="${countryLang.countryCode}" />
</p:column>
<p:column headerText="Edit" >
<p:commandLink id="editCommandLinkId"
action="#{countryBean.editCountryByCountryCode(countryLang.countryCode,true)}" title="Edit" styleClass="edit_icon" onstart="statusDialog.show();" onsuccess="statusDialog.hide();"/>
</p:column>
</p:dataTable>
假設我爲美國編輯過,那麼它會顯示AU的數據。 排序我使用belwo技術
private ArrayList<Country> myexistingCountryList;
public String getInitList() {
myexistingCountryList= getExistingCountryList();
return null;
}
public ArrayList<Country> getExistingCountryList() {
try {
existingCountryList = new ArrayList<Country>();
existingCountryList.addAll(getCountryService().getExistingCountry());
} catch (ServiceException e) {
e.printStackTrace();
errorLogger.error("Error while getExistingCountryList in service layer", e);
}