具体问题是:例如我现在有81条数据,每页显示20行数据,能显示5页数据,总行数是81。当我删除第五页最后一条数据时,分页的数据显示的是第四页的数据,但是行数变成100 页数显示的是5/4,分页的效果右边还可以点击。
代码如下:
public LazyDataModel<E> findModel(final String jpql,
final Map<String, String> values) {
LazyDataModel<E> lazyModel = new LazyDataModel<E>() {
@Override
public List<E> load(int first, int pageSize, String sortField,
SortOrder arg3, Map<String, String> arg4) {
// TODO Auto-generated method stub
integer = Long.valueOf(getResultCount(values))//获得数据库总数据
.intValue();
setRowCount(integer);//设置总行数
querys = createQuery(jpql, values);//查询数据库
setPageParameterToQuery(querys, first,pageSize, integer,this);//设置分页参数
return (List<E>) querys.getResultList();
}
};
lazyModel.setPageSize(20);
lazyModel.setRowCount(1);
return lazyModel;
}
/**
* @see 设置结果集
* @param query
* @param first 结果偏移量
* @param pageSize 最大查询数量
*/
private void setPageParameterToQuery(javax.persistence.Query query,
int first, int pageSize,int count,LazyDataModel ldm) {
System.out.println("偏移量:"+first+":"+count);
if(first == count)
{
query.setFirstResult(first-pageSize);
query.setMaxResults(pageSize);
System.out.println("设置偏移量");
}else{
query.setFirstResult(first);
query.setMaxResults(pageSize);
}
}
分享到:
相关推荐
在这个场景中,问题涉及到`datatable`的行编辑功能,以及如何在用户没有完成编辑时阻止页面提交。以下是关于这个问题的详细解释和解决方案。 首先,PrimeFaces的`datatable`组件提供了行编辑功能,让用户可以直接在...
- **扩展功能**: PrimeFaces还提供了诸如导出、拖放、扩展列等功能,极大地丰富了`DataTable`的使用场景。 6. **最佳实践** - 为了保持代码的清晰和可维护性,建议将数据处理逻辑(如查询、排序、过滤)放在后台...
在本文中,我们将深入探讨如何使用Primefaces的Datatable组件实现内容左右移动的功能,以便在显示大量列且屏幕宽度有限的情况下提供更好的用户交互体验。这个功能对于那些需要处理宽表格并希望避免滚动条的Web应用...
在JavaServer Faces (JSF)应用中,PrimeFaces的DataTable是一个强大的组件,...总的来说,理解并熟练掌握这三种重置DataTable状态的方法,能帮助开发者更好地应对JSF和PrimeFaces应用中可能出现的问题,提高用户体验。
如:richfaces、primefaces、myfaces等,就日前来讲primefaces功能很强大,控件很多,但有一点不好就是不支持IE6,特别是下拉列表,p:dialog等,其它的分页p:datatable实际使用起来总有不如意的地方。richfaces还...
然而,在实际应用中,可能会遇到`ColumnToggler`的状态容易被破坏的问题,例如查询、排序、过滤或分页操作后,用户自定义的列显示设置可能丢失。为了解决这个问题,我们需要实现一种状态保存机制,确保用户的选择...
在Primefaces框架中,`datatable`是一个非常强大的组件,它提供了丰富的功能,如排序、过滤、分页等。其中,`RowExpansion`特性允许展示行的详细信息,通常用于查看数据的明细。然而,有时用户可能希望直接在展开的...
本文将深入探讨如何解决`Primefaces dataTable`宽度动态变化的问题,特别是在切换显示模式时。 首先,`dataTable`的宽度默认设置为100%,这意味着它会占据容器的全部宽度。这在大部分情况下是合适的,但如果需要...
在本文中,我们将探讨如何实现一个自定义的垂直编辑功能在Primefaces的dataTable组件中,类似于标题和描述中提到的“垂直編輯”。Primefaces是一个流行的JavaServer Faces库,提供了丰富的用户界面组件,包括用于...
### PrimeFaces 最新版本使用说明 #### 一、关于PrimeFaces **PrimeFaces** 是一个为JavaServer Faces (JSF) 提供丰富的组件库的框架。它提供了许多易于使用的、功能强大的用户界面组件,旨在帮助开发者快速构建...
在使用PrimeFaces 3.5时,开发者需要注意兼容性问题,确保与所使用的JSF版本、服务器环境以及其他库相兼容。此外,PrimeFaces的组件通常依赖于jQuery,因此在项目中也要考虑jQuery的版本和使用方式。 总的来说,...
在IT行业中,尤其是在Web开发领域,PrimeFaces是一个广泛使用的...通过这样的逻辑处理,可以确保在用户使用粘贴功能时,既能提供灵活的输入方式,又能保证数据的准确性和一致性,避免由于非法或无效的输入导致的问题。
PrimeFaces凭借其强大的功能和易于使用的特性,已经成为了很多开发者的首选UI组件库之一。无论是个人项目还是小型网站开发,PrimeFaces都能提供所需的功能和支持。随着不断的发展和完善,PrimeFaces将继续为开发者...
《PrimeFaces Cookbook》是一本专为Java开发人员编写的实用指南,主要介绍如何使用PrimeFaces框架来构建富互联网应用...同时,它也是一个很好的参考资源,当你在实际开发中遇到问题时,可以从中寻找解决方案或灵感。
为了快速上手,PrimeFaces提供了一个简单的“HelloWorld”示例,帮助开发者搭建起基本的开发环境,包括必要的配置以及如何在页面中使用PrimeFaces组件。这个示例是学习过程中的起点,能够让开发者立即看到使用...
5. DataTable:这是一个强大的表格组件,支持排序、分页和过滤功能。 6. Dialog:对话框组件允许在页面上弹出一个窗口,用于显示信息、确认操作或进行交互。 7. Drag&Drop:PrimeFaces提供拖放功能,允许用户通过...
PrimeFaces使用Yahoo UI库做为默认的客户端框架。PrimeFaces提供的JSF组件能够处理JavaScript Rendering和如何在服务器端与JSF集成。PrimeFaces UI组件包括:HtmlEditor、ImageCropper、Dialog、AutoComplete、Flash...
在本文中,我们将深入探讨如何将一个jQuery UI Theme Roller生成的主题ZIP文件转换为PrimeFaces可使用的Theme JAR文件,并详细解释整个过程以及如何在实际应用中使用生成的JAR文件。 首先,jQuery UI Theme Roller...
3. **调试问题**:当遇到组件使用中的问题时,源代码可以帮助我们定位并解决问题。 4. **学习最佳实践**:PrimeFaces的源代码展示了组件设计和实现的最佳实践,对提升我们的开发技能非常有帮助。 5. **参与社区...
10. 调试技巧以及在PrimeFaces开发过程中可能遇到的常见问题的解决方案。 这本书的目标读者主要是希望利用PrimeFaces提升JSF Web应用开发效率的开发人员,特别是那些希望使用PrimeFaces提供的丰富组件和功能来构建...