【发布时间】:2014-11-16 19:45:20
【问题描述】:
我有一个 Primefaces 数据表,其中一列有一个过滤器下拉菜单。我想在页面加载时为过滤器设置默认值。通过使用 filterValue 并为支持 bean 中的选项设置默认值,页面加载时在菜单中选择了该值,但实际上并未过滤数据表本身。
我尝试使用以下示例添加 javascript 以强制在页面加载时使用默认过滤器,但它不起作用。
setting default value in primefaces datatable Filter
我没有经常使用 javascript,所以我的问题可能就在那里。
JSF 页面:
<h:body>
<h:form>
<ui:define name="header" >
<h:outputScript name="common.js" target="body" />
</ui:define>
</h:form>
<p:dataTable var="dataItem" value="#{homepageBean.accounts}"
filteredValue="#{homepageBean.filterAccounts}" widgetVar="dataTableWidgetVar" >
<p:column headerText="Status" id="statusCol" filterBy="status"
filterOptions="#{homepageBean.menu.statusOption}"
filterValue="#{homepageBean.defaultStatus}" >
<h:outputText value="#{dataItem.status}" />
</p:column>
</p:dataTable>
</h:body
common.js 页面:
function setDefaultFilter() {
dataTableWidgetVar.filter();
}
homepageBean 具有适用的 getter 和 setter。我正在使用 Primefaces 4.0。
【问题讨论】:
-
你在哪里调用 setDefaultFilter() 函数?你确定它在发射吗?
标签: javascript jsf-2 primefaces datatable