Rich:列 - Filterby
-
20-09-2019 - |
题
早上好!!
我有一个动态的数据表,我正在使用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)}
, ,但我不在一个可以测试的地方。这本质上的作用是评估列的名称,然后将getter与行相同的名称调用 atendimento
. 。抱歉,如果嵌套语法不起作用,但是我认为嵌套是您的答案。
如果 #{atendimento[column.nomeAtributo]}
可以打印值然后这就是您想要的,但是我只期望它可以使用NomeAtributo是数组引用的整数。
我遇到了Filterby的另一个问题,可能会引起问题。我们有过滤器在某个业务状态(活跃,过期等)的实体上工作,但在其他实体中不工作。实体的状态与实际过滤器值无关。
当我使用过滤术并在靠背豆上进行过滤时,它可以正常工作。事实证明,Filterby在我使用Ajaxsingle的Fileterthod上的输入文本上提交了整个表单。当您总共提交该表格时,验证失败了,但是吞咽了验证错误。
不隶属于 StackOverflow