Rich:Columns - FilterBy

时间:2009-12-18 11:44:01

标签: richfaces filtering richdatatable

早上好!!

我有一个动态数据表,我正在使用Richfaces的列,但是当我将值分配给FilterBy时,它不起作用。 谁能帮我? 祸了我的代码..

<rich:dataTable id="dtAtendimento" value="#{CadastroAtendimentoTecnico.listaAtendimento}" var="atendimento">
    <rich:columns index="index" value="#{CadastroAtendimentoTecnico.listaCampos}" var="column" filterBy="#{column.nomeAtributo}" filterEvent="onKeyUp">
        <f:facet name="header">
            <h:outputText value="#{column.label}"/>
        </f:facet>
        <h:outputText value="#{atendimento[column.nomeAtributo]}"/>
    </rich:columns>
</rich:dataTable>

3 个答案:

答案 0 :(得分:0)

尝试将sortBy="#{column.nomeAtributo}"sortOrder添加到rich:columns即可。 我开始知道我们在早期版本上遇到了这样的问题。 请尝试RF 3.2.1。我认为应该解决这个问题。

答案 1 :(得分:0)

从我可以看到你在filterBy中使用了错误的属性。您希望使用嵌套来指定在哪里查找要排序的元素。像#{atendimento(column.nomeAtributo)}之类的东西,但我不在一个可以测试它的地方。这基本上做的是评估列的名称,然后从行对象atendimento调用具有相同名称的getter。很抱歉,如果嵌套语法不起作用,但我认为嵌套是你的答案。

如果#{atendimento[column.nomeAtributo]}用于打印值,那么这就是你想要的,但我只希望它能在nomeAtributo是一个用于数组引用的整数时起作用。

答案 2 :(得分:0)

我遇到过filterBy的另一个问题,可能会导致问题。我们让filterBy处理某个业务状态(活动,过期等)的实体,但不在其他状态。实体的状态与实际的过滤值无关。

当我使用filterMethod并对辅助bean进行过滤时,它工作正常。事实证明,filterBy在我的inputText上提交了整个表单,而filterMethod我使用了ajaxSingle。当您总共提交该表单但验证错误被吞下时,验证失败。