加载后使用comboBox值显示已过滤的dataSet

时间:2014-06-02 17:22:23

标签: java jsf primefaces combobox

我有一个带有组合框的Primefaces 4 DataTable来过滤它的值。

当用户进入webApp时,如何使用其中一个comboBox值继续获取dataSet?

我们的想法是不要混合使用同一dataSet中其他日期的dataSet,因为根据过滤后的数据有一个摘要行。

我该怎么做?

主要的xhtml代码:

<p:dataTable 
id="datalist"
filteredValue="#{capacitacaoController.filteredCapacitacao}"
value="#{capacitacaoController.items}"
var="item"
rowKey="#{item.capacitacaoPK}"
selection="#{capacitacaoController.selected}"
>

<p:column sortBy="#{item.capacitacaoPK.dtRef}" filterBy="#{item.capacitacaoPK.dtRef}" filterOptions="#{datasController.dtRefCombo}" >
<f:facet name="header">
<h:outputText value="#{capacitacaoBundle.ListCapacitacaoTitle_capacitacaoPK_dtRef}"/>
</f:facet>
<h:outputText value="#{item.capacitacaoPK.dtRef}">
<f:convertDateTime pattern="MM/yyyy" />
</h:outputText>
</p:column>

组合方法:

public List<SelectItem> getDtRefCombo() {
    List<SelectItem> list = new ArrayList<>();
    list.add(new SelectItem("I've put a date here, but no effect", "Choose..."));
    list.add(new SelectItem("Thu May 15 00:00:00 BRT 2014","05/2014"));
    list.add(new SelectItem("Tue Apr 15 00:00:00 BRT 2014","04/2014"));
    list.add(new SelectItem("Fri Feb 28 00:00:00 BRT 2014","02/2014"));
    list.add(new SelectItem("Fri Jan 31 00:00:00 BRST 2014","01/2014"));
return list;
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

似乎有一个p:column属性; filterValue。

根据User guide中的第96页(以及Netbeans自动填充)。