gpt4 book ai didi

java - Primefaces 5.3 中数据表的 filterValue 始终为 null

转载 作者:行者123 更新时间:2023-11-30 06:39:31 24 4
gpt4 key购买 nike

我对使用 primefaces 还很陌生,并且有一点疑问(已经在 primefaces 论坛上询问过,但到目前为止还没有回复)

是否可以在 xls dataExporter 上获取过滤器值,更具体地说,在类似后处理器的方法上?

我可以通过在数据表上声明filteredValue来获取过滤后的值。但 filterValue 变量没有按预期工作。

我都在我的数据表上声明如下:

filteredValue="#{parqueController.parqueListFiltered}"
filterValue =“#{parqueController.parqueListFilter}”

当我过滤值时,Bean 类上的 setter 仅针对过滤后的值触发,从而使过滤器值始终为 null。

我最终在 PrimeFaces 上找到了与此相关的帖子:

https://code.google.com/archive/p/primefaces/issues/5361

这个问题是在 3.5 版上报告的,而且看起来,它已在更高版本中得到纠正/更改。我正在使用 5.3 版

认为这可能是一个错误?回归?或者我只是在这里遗漏了一点并且做错了什么?

enter image description here

最诚挚的问候和谢谢!

米格尔·帕尔梅罗

最佳答案

在发现这个尴尬的怪异之后..下载Primefaces源代码..调试..得出的结论是过滤器值是在列上声明的(如果我不分心的话会更快地注意到它..^^)

  <p:column style="width: 20%" filterBy="#{parque.id}" sortBy="#{parque.id}" filterValue="#{parqueController.parqueListFilter}" filterMatchMode="contains">

之后,该值将作为每列的单独字符串返回,空表示无值,值表示..值^^。在此阶段,根据需要对待它..我结束了创建一个包含所有过滤器值的列表..在Excel后处理器上,始终从列表中获取最后4个值并迭代这4个值,知道我的列是固定的..

我的意思是,在我的情况下,filteredValue=#{classController.variable} 指向在我在 parqueListFilter 中获得过滤值后您希望值去往的位置,我这样做是这样的:

List<String> tail = parqueListFilters.subList(Math.max(parqueListFilters.size() - 4, 0), parqueListFilters.size());

但是在前端区域发生过滤后,仍然应该在应用程序的后端部分填充该变量。

public List<String> parqueListFilters = new ArrayList<String>() ;

public String getParqueListFilter() {
return parqueListFilter;
}

public void setParqueListFilter(String parqueListFilter) {
this.parqueListFilter = parqueListFilter;
parqueListFilters.add(parqueListFilter);
}

关于java - Primefaces 5.3 中数据表的 filterValue 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44626608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com