早上好!!

我有一个动态的数据表,我正在使用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}"sortOrderrich:columns 它将起作用。我知道我们在早期版本上遇到了这样的问题。请尝试RF 3.2.1。我认为这应该解决问题。

其他提示

从我可以看到您在Filterby中使用错误的属性。您要使用嵌套来指定在哪里找到要排序的元素。就像是 #{atendimento(column.nomeAtributo)}, ,但我不在一个可以测试的地方。这本质上的作用是评估列的名称,然后将getter与行相同的名称调用 atendimento. 。抱歉,如果嵌套语法不起作用,但是我认为嵌套是您的答案。

如果 #{atendimento[column.nomeAtributo]} 可以打印值然后这就是您想要的,但是我只期望它可以使用NomeAtributo是数组引用的整数。

我遇到了Filterby的另一个问题,可能会引起问题。我们有过滤器在某个业务状态(活跃,过期等)的实体上工作,但在其他实体中不工作。实体的状态与实际过滤器值无关。

当我使用过滤术并在靠背豆上进行过滤时,它可以正常工作。事实证明,Filterby在我使用Ajaxsingle的Fileterthod上的输入文本上提交了整个表单。当您总共提交该表格时,验证失败了,但是吞咽了验证错误。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top