我在p:datatable中使用排序,最后一列是编辑。 它的工作正常,直到按下排序。一旦我做排序它表现不寻常。 在编辑它时给出错误的对象。 belwo是我的数据表。
<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);
}
答案 0 :(得分:0)
您的代码中存在许多错误。
而不是$
使用#
而不是sortBy="countryName"
写sortBy="#{countryLang.countryName}"
基本上
更改此
<p:column width="30%" headerText="Country " sortBy="countryName">
<h:outputLabel value="${countryLang.countryName}" />
</p:column>
到这个
<p:column width="30%" headerText="Country " sortBy="#{countryLang.countryName}">
<h:outputLabel value="#{countryLang.countryName}" />
</p:column>