- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要根据 PrimeFaces LazyDataModel<T>
返回的行数来渲染一些组件.
例如,<p:panelGrid>
仅当关联的惰性数据模型返回至少一行时才应呈现。
<p:panelGrid rendered=#{bean.rowCount gt 0}>
...
...
...
</p:panelGrid>
下面给出了 <p:dataList>
这是延迟加载的。
<p:dataList var="row"
value="#{bean}"
first="0"
rows="10"
paginator="true"
lazy="true">
...
...
...
<p:dataList>
这个 bean 很普通:
@Named
@ViewScoped
public class Bean extends LazyDataModel<Entity> implements Serializable
{
@Inject
private BeanService service;
private static final long serialVersionUID = 1L;
@Override
public List<Entity> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters)
{
setRowCount(service.rowCount());
return service.getList(first, pageSize);
}
}
给定的<p:panelGrid>
当 rendered
时,将不再渲染,因为惰性数据模型不可用。 <p:panelGrid>
的属性已处理。
如果两者的顺序都是<p:panelGrid>
,则正确的事情可能会发生。和<p:dataList>
是互换的,但这是一个设计问题,不能考虑。
给定的<p:dataList>
包含用于预览的复杂报告数据列表(与 <p:dataTable>
、 <p:panelGrid>
和其他一些组合),然后将其导出到 MS-Excel 工作簿并下载文件。
报告数据列表(由 <p:dataList>
保存)取决于多个(自定义)过滤器,这些过滤器由 <p:inputText>
组成。 , <p:selectOneMenu>
等等。该列表是根据过滤器值/事件进行 AJAX 更新的。
列表随时可能为空,具体取决于过滤器的值。无论如何,如果<p:dataList>
为空,<p:panelGrid>
不得渲染( <p:panelGrid>
只是一个简单的示例。还有其他组件)。
如何根据 LazyDataModel<T>
返回的行数来渲染此类组件(最终来自关联的数据库)没有任何额外的开销来执行额外的 JPA 查询来计算根据过滤器的值可以返回的行数(当已经有非常复杂/昂贵的报告 JPA 标准查询正在执行时)?
最佳答案
当您在 load
中设置行数时,您可能会移动
setRowCount(service.rowCount());
进入加载之前执行的方法(或者在行计数的 getter 中作为最后一种可能性),因为我假设 service.rowCount()
本身不执行加载,或者我是错了?
关于jsf - 根据 PrimeFaces LazyDataModel<T> 返回的行数渲染 JSF/PrimeFaces 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287477/
我正在尝试覆盖 org.primefaces.model.LazyDataModel 类(来自 Primefaces JSF 组件库)中的 load()(抽象)方法。 但是我的 Netbeans ID
我在我的 prime faces 项目中使用 lazyDataModel 通过 prime faces dataable 查看一些惰性行为的数据,但这工作正常。我的问题是我不能在我的 bean 中循环
我正在使用 PrimeFaces LazyDataModel,它工作正常。但是,我需要在我的 Facelets 页面中添加一些高级过滤器。我不想将 PrimeFaces native 过滤器与表头中的
我有一个巨大的对象列表,每个对象都包含许多图像。我想使用延迟加载来部分获取它们。我想了解如何使用 LazyDataModel 及其工作原理。 最初我认为我必须在 LazyDataModel 中仅保存可
我正在做一个小项目,它由一个表组成,其中有 36000 条记录,我通过 DataTable Primefaces 向其显示。 首先,我遇到了分页速度问题,速度慢得令人抓狂。 我去了 Showcase
我已经实现了一个带有 primefaces 的延迟加载数据表 load(int first, int pageSize, String sortField, SortOrder sortOrder,
我有一个包含 2 列的简单惰性数据模型。第二列只有默认情况下禁用的复选框(无法单击它们)。在行选择上,我只想启用复选框 (checkbox.disabled = false) 而无需调用 load 方
我有一个基于 LazyDataModel 的 Primefaces DataTable。我成功地在表中加载数据,但无法使用 setPropertyActionListener 在对话框中显示所选项目,
在我们的项目中,我们使用 PrimeFaces 3.3 以及 OmniFaces FullAjaxExceptionHandler如 this blog 中所述. 它适用于所有 Ajax 调用,除了我
我正在使用使用 LazyDataModel 的 primefaces 4.0 数据表。我也在使用 当一行被编辑和保存时,我的数据表数据没有被更新。似乎没有在 ajax 更新上调用 LazyDataMo
到现在为止,我有一个 JSF 托管 bean,它带有 LazyDataModel看起来像下面这样。 @Controller @Scope("request") public final class S
我正在尝试实现一个延迟加载的表。我想我从演示页面和文档中获得了所有步骤,但我总是收到“未找到记录”消息。我想我已经将代码简化为最小表达,至少应该有一个记录: 表格页面:
我的问题是,在我选择了第一页上的一些项目后,如果我分页到另一页并返回,我的初始选择不会显示。我试图实现 SelectableDataModel以及使用 rowKey属性,但问题仍然存在。 这是我的测试
我在 org.primefaces.model.LazyDataModel 的实现类中注入(inject)的任何 CDI bean,结果都是 null。惰性模型实现类本身是一个范围为 @javax.f
我需要根据 PrimeFaces LazyDataModel 返回的行数来渲染一些组件. 例如,仅当关联的惰性数据模型返回至少一行时才应呈现。 ... ... ... 下面
我在用, JPA 2.0 Mojarra 2.1.9 JSF 组件库,Primefaces 3.5。 MySQL 5.6.11 我在 MySQL 数据库中有一个名为 state_table 的表以三列
我是一名优秀的程序员,十分优秀!