富人:列 - FilterBy(Rich:Columns - FilterBy)

2019-11-02 13:45发布

早上好!!

我有一个动态的数据表中,我使用了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>

Answer 1:

试着增加sortBy="#{column.nomeAtributo}"sortOrderrich:columns会工作。 我才知道,我们在早期版本的此类问题。 请尝试射频3.2.1。 我认为它原本应该解决的问题。



Answer 2:

从我所使用的是在filterBy错误的属性看。 你想使用嵌套指定到哪里可以找到排序的元素。 喜欢的东西#{atendimento(column.nomeAtributo)} ,但我不是,我可以测试它的地方。 这本质上做的是评估列的名称,然后调用具有相同的名称,吸气关闭您的行对象的atendimento 。 很抱歉,如果嵌套语法不工作,但我觉得嵌套是你的答案。

如果#{atendimento[column.nomeAtributo]}的作品打印的值,那么这就是你想要什么,但我只期望它的工作,如果nomeAtributo是数组引用的整数。



Answer 3:

我已经遇到与filterBy另一个问题,这可能会导致问题。 我们有filterBy对实体工作在一定的业务状态(活跃,过期等),但不是在别人。 实体的状态无关,与实际过滤器值。

当我用了一个filterMethod并没有支持bean过滤它工作得很好。 原来,filterBy提交整个形式,而在我的inputText的filterMethod我用ajaxSingle。 当您提交的形式,但总被吞噬的验证错误验证失败。



文章来源: Rich:Columns - FilterBy