Rich:Columns - FilterBy

早上好!! 我有一个动态数据表,我正在使用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>
    
已邀请:
尝试添加
sortBy="#{column.nomeAtributo}"
sortOrder
rich:columns
它会起作用。 我才知道我们在早期版本上遇到了这样的问题。 请尝试RF 3.2.1。我认为应该解决问题。     
从我可以看到你在filterBy中使用了错误的属性。您希望使用嵌套来指定在哪里查找要排序的元素。像
#{atendimento(column.nomeAtributo)}
之类的东西,但我不在一个可以测试它的地方。这基本上做的是评估列的名称,然后从行对象
atendimento
调用具有相同名称的getter。对不起,如果嵌套语法不起作用,但我认为嵌套是你的答案。 如果
#{atendimento[column.nomeAtributo]}
用于打印值,那么这就是你想要的,但我只希望它能在nomeAtributo是一个用于数组引用的整数时起作用。     
我遇到过filterBy的另一个问题,可能会导致问题。我们让filterBy处理某个业务状态(活动,过期等)的实体,但不在其他状态。实体的状态与实际的过滤值无关。 当我使用filterMethod并对辅助bean进行过滤时,它工作正常。事实证明,filterBy在我的inputText上提交整个表单,而filterMethod我使用了ajaxSingle。当您总共提交该表单但验证错误被吞下时,验证失败。     

要回复问题请先登录注册