Rich:Columns - FilterBy
Posted
技术标签:
【中文标题】Rich: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>
【问题讨论】:
作为旁注 - 建议在您的代码中使用英语。 对不起,我是巴西人,我会尽我所能提供翻译 【参考方案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与索引连接,这是必要的吗?以上是关于Rich:Columns - FilterBy的主要内容,如果未能解决你的问题,请参考以下文章