Rich:Columns - FilterBy

Rich:Columns - FilterBy

问题描述:

早上好!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> 
+1

作为旁注 - 建议在代码中使用英文。 – Bozho 2009-12-18 12:37:17

+0

对不起,我是巴西人,我尽我所能翻译 – Tyemy 2009-12-18 13:05:58

尝试增加sortBy="#{column.nomeAtributo}"sortOrderrich:columns它会工作。 我开始知道我们在早期版本中有这样的问题。 请尝试RF 3.2.1。我认为它应该解决问题,否则。

+0

没有工作 我见过的例子,列的id与索引连接,这是必要的吗? – Tyemy 2009-12-18 13:10:35

从我能看到你在filterBy中使用错误的属性。你想使用嵌套来指定在哪里找到要排序的元素。像#{atendimento(column.nomeAtributo)},但我不在我可以测试它的地方。实质上做什么是评估列的名称,然后调用与您的行对象atendimento相同的名称的getter。对不起,如果嵌套语法不起作用,但我认为嵌套是你的答案。

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

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

当我使用filterMethod并对后台bean进行过滤时,它工作正常。事实证明,filterBy提交整个表单,而我的inputText为filterMethod我使用ajaxSingle。当您提交该表单时验证失败,但验证错误被吞噬。