【发布时间】:2014-08-04 15:33:05
【问题描述】:
我有一个空的 primefaces 惰性数据模型表。调用lazydatamodel的load方法,查询正确执行。如果我在从 load 方法返回的数据上放置一个刹车点,它包含预期的数据。但是在 xhtml 中仍然有一个空表。
惰性数据模型类:
@Named
@Stateless
public class LazyEventDataModel extends LazyDataModel<Event> implements Serializable {
private static final long serialVersionUID = -1044044395695736241L;
@Inject @YpayDB EntityManager em;
@Override
public List<Event> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String,String> filters) {
if(sortField == null || sortField.equals("")){
sortField = "event.startUTC";
}
List<Event> data = selectData(first, pageSize, sortField, DataUtilsWeb.transformSortOrder(sortOrder), filters);
//row count
this.setRowCount(count(filters));
return data;
}
.....
调用惰性数据模型的 bean:
@Named
@ViewScoped
public class ModeratorDashboardBean implements Serializable {
private static final long serialVersionUID = -8586184444671684610L;
@Inject
private LazyEventDataModel lazyEventDatamodel;
public LazyEventDataModel getLazyEventDatamodel() {
return lazyEventDatamodel;
}
}
xhtml 数据表文件:
<p:dataTable emptyMessage="No data" id="dataTable" var="event" value="#{moderatorDashboardBean.lazyEventDatamodel}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
paginator="true" paginatorPosition="bottom" rowsPerPageTemplate="10,20,30" rows="20" rowKey="#{event.idEvent}"
lazy="true" style="width:100%" sortBy="event.startUTC" sortOrder="DESCENDING" filterDelay="400">
<p:column headerText="Date from" >
<h:outputText value="#{event.start}" >
<f:convertDateTime pattern="dd.MM.yy HH:mm" />
</h:outputText>
</p:column>
<p:column headerText="Date to" >
<h:outputText value="#{event.end}" >
<f:convertDateTime pattern="dd.MM.yy HH:mm" />
</h:outputText>
</p:column>
<p:column headerText="Event" filterBy="#{event.name}" filterMatchMode="contains" sortBy="event.name">
<h:outputText value="#{event.name}" >
</h:outputText>
</p:column>
</p:dataTable>
【问题讨论】:
-
rowCount设置正确吗? -
@RobbyCornelissen 是的 setRowCount 我在表中有许多所有插入。
-
问题解决了吗?
标签: jsf jsf-2 primefaces lazy-loading datamodel