【问题标题】:Rich:Columns - FilterByRich:Columns - FilterBy
【发布时间】:2010-12-28 00:24:57
【问题描述】:

早上好!!

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

【问题讨论】:

  • 作为旁注 - 建议在您的代码中使用英语。
  • 对不起,我是巴西人,我会尽我所能提供翻译

标签: richfaces filtering richdatatable


【解决方案1】:

我遇到了另一个可能导致问题的 filterBy 问题。我们通过过滤器处理处于特定业务状态(活动、过期等)的实体,而不是其他状态的实体。实体的状态与实际过滤器值无关。

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

【讨论】:

    【解决方案2】:

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

    如果 #{atendimento[column.nomeAtributo]} 可以打印该值,那么这就是您想要的,但我只希望它在 nomeAtributo 是用于数组引用的整数时才有效。

    【讨论】:

      【解决方案3】:

      尝试将sortBy="#{column.nomeAtributo}"sortOrder 添加到rich:columns 它将起作用。 我才知道我们在早期版本中有这样的问题。 请尝试 RF 3.2.1。我认为它应该可以解决问题。

      【讨论】:

      • 没有工作我看到的例子,列的ID与索引连接,这是必要的吗?
      猜你喜欢
      • 2011-03-12
      • 1970-01-01
      • 2011-08-04
      • 2013-09-06
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      相关资源
      最近更新 更多