【发布时间】:2012-07-24 12:10:34
【问题描述】:
当我尝试通过更改 SelectOneMenu 的值来更新 p:dataGrid 时,PrimeFaces p:selectOneMenu 组件出现问题。
Xhtml:
<p:selectOneMenu value="#{bussinessOwnersViewerMB.selectedCity}" effect="explode">
<f:selectItems value="#{bussinessOwnersViewerMB.cities}" var="city" itemLabel="#{city.cityName}" itemValue="#{city.cityId}"/>
<p:ajax listener="#{bussinessOwnersViewerMB.handleCityChange}" update="mainform:bolist"/>
</p:selectOneMenu>
<p:dataGrid id="bolist" var="bo" value="#{bussinessOwnersViewerMB.bOwners}" columns="3" rows="#{bussinessOwnersViewerMB.os}">
<p:column>
<p:panel header="#{bo.bOName}">
<h:panelGrid columns="1">
<p:graphicImage value="/resources/images/#{bo.boType}/#{bo.bOId}/mainProfile.jpg"/>
</h:panelGrid>
</p:panel>
</p:column>
</p:dataGrid>
问题是,当我第一次更改 selectOneMenu 的值时,数据网格没有得到更新。所发生的只是调用 postconstructor 方法,在第一次更改后它工作正常。
我的托管 bean 是一个 viewscoped 托管 bean。
监听方法“bussinessOwnersViewerMB.handleCityChange”是:
public void handleCityChange(ValueChangeEvent event) {
bOwners = bovb.loadAllDistributerByType(new Integer(selectedCity)); // selectedcity is the selected item id
os = Integer.toString(bOwners.size());
}
【问题讨论】:
-
请提供有关您如何解决此问题的最新信息。
标签: jsf-2 primefaces