ligerui实现数据库端分页功能

 LigerUI的两种分页方式

  LigerUI的分页方式有两种:local和server

  如果数据量不是很大,就直接采用local分页,一次性的把数据全部发送到前台来,之后LigerUI自身的grid会自动分页。说一下total,在后台传送jsonString时传送定义好的total(总条数),你可以定义多少都可以,但是到前台它会自动将总条数赋值给total,这是local下的方式。

  而如果数据量很大,一次性加载直接不显示数据或反应很慢的,就需要用server分页了,当用server分页时,每次请求都会比local时多发送两个参数:page和pagesize,不需要自己去发送,只需要在后台获取就行,

  intpage=Integer.parseInt(request.getParameter("page"));

  intpagesize=Integer.parseInt(request.getParameter("pagesize"));

  inttotal;

  这时你可以把page和pagesize写进你的sql语句:

  sql=".........";

  sql+="limit"+(page*pagesize-pagesize)+","+pagesize;

  这样查出的结果放入jsonString中,这里要注意total了,total需要自己定义,需要自己重新查一下结果的总条数后赋值给total传到页面,其他的LigerUI会帮你搞定!

  以下为实现部分内容

  ============

  1.js页面


userGrid=$("#userGrid").ligerGrid({

method:'GET',

height:580,

width:'100%',

usePager:true,

columns:[

{display:Resource.userName,name:"userName",align:'left',width:100,minWidth:60},

{display:Resource.email,name:"email",align:'left',width:250,minWidth:60},

{display:Resource.deparentment,name:"deparentment",align:'left',width:100,minWidth:60},

//{display:Resource.password,name:"password",align:'left',width:100,minWidth:60},

{display:Resource.userType,name:"privilege",align:'left',width:100,minWidth:60,

render:function(item){

varprivilege=item.privilege;

if(privilege=='1'){

returnResource.tempUser;

}elseif(privilege=='2'){

returnResource.commonUser;

}elseif(privilege=='4'){

returnResource.advancedUser;

}elseif(privilege=='8'){

returnResource.knowledgeManager;

}elseif(privilege=='16'){

returnResource.administrator;

}

}

},

{display:Resource.accountState,name:"accountState",align:'left',width:100,minWidth:60,

render:function(item){

varaccountState=item.accountState;

if(accountState=='1'){

returnResource.normal;

}elseif(accountState=='2'){

returnResource.unactive;

}elseif(accountState=='4'){

returnResource.stopped;

}

}

},

{display:Resource.accountExpireDate,name:"accountExpireDate",align:'left',width:100,minWidth:60}

],

url:$('#initPath').val()+'/UserController.do?method=getUserPaging&privilege=-1',//必须这样,否则不能传page等参数

pageSize:10,rownumbers:true,

 2.action


publicModelAndViewgetUserPaging(DYRKBUseruser,HttpServletRequestrequest){

intpage=Integer.parseInt(request.getParameter("page"));

intpagesize=Integer.parseInt(request.getParameter("pagesize"));

if(user.getUserName()==null){

user.setUserName("");//空串时可以搜索到所有此类用户

}

Integerprivilege=user.getPrivilege();

if(privilege==-1){

user.setPrivilege(null);

}

List<DYRKBUser>userList=userService.getUserPaging(user,page,pagesize);

inttotal=userService.getUserTotalNum();

Map<String,Object>model=newHashMap<String,Object>(1);

model.put("Rows",userList);//数据要的就是Rows项

model.put("Total",total);

returnnewModelAndView(Constants.JSON_VIEW,model);

}

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-03 06:16:07

ligerui实现数据库端分页功能的相关文章

分页获取信息-添加分页功能,给数据库的字段添加必要的主键

问题描述 添加分页功能,给数据库的字段添加必要的主键 public static ArrayList getPageBillList(int currentPageNo,int pageSize)

Python的Flask框架中实现分页功能的教程

  这篇文章主要介绍了Python的Flask框架中实现分页功能的教程,文中的示例基于一个博客来实现,需要的朋友可以参考下 Blog Posts的提交 让我们从简单的开始.首页上必须有一张用户提交新的post的表单. 首先我们定义一个单域表单对象(fileapp/forms.py): ? 1 2 class PostForm(Form): post = TextField('post', validators = [Required()]) 下面,我们把这个表单添加到template中(file

ASP.NET:DataGrid控件的分页功能

asp.net|datagrid|datagrid控件|分页 DataGrid 控件是一个基于模板样式的.多功能的.多列的数据绑定控件.在三个数据绑定控件中,DataGrid是功能最为强大的,其次时DataList控件,然后是轻量级的数据绑定控件Repeater.要自定义 DataGrid 中各列的布局,您可以将列类型设置为"模板",然后修改列的模板.DataGrid 控件也可以无需模板,只需按照默认的设置即可进行呈现,这使得该控件成了用于报告方案的理想控件.      我们可以把Da

用Spring的JdbcTemplate实现分页功能

分页     最近使用了spring中的JdbcTemplate实现数据库的查询和插入操作,发现spring的JdbcTemplate 不象HibernateTemplate那么好,已经实现了分页功能.所以要自己实现,使用getJdbcTemplate().queryForList(string sql)得到的结果集是所有的. 如果你的查询有10000条记录,或者更多,速度肯定慢了,当然你可以通过resultset中的游标控制查询的起始和结束.我这里用的是Oracle数据库,使用伪列ROWNUM

ASP.NET中利用DataGrid的自定义分页功能

asp.net|datagrid|分页 ASP.NET中利用DataGrid的自定义分页功能和存储过程结合实现高效分页 ASP.Net中的DataGrid有内置分页功能, 但是它的默认的分页方式效率是很低的,特别是在数据量很大的时候,用它内置的分页功能几乎是不可能的事,因为它会把所有的数据从数据库读出来再进行分页, 这种只选取了一小部分而丢掉大部分的方法是不可去取的. 在最进的一个项目中因为一个管理页面要管理的数据量非常大,所以必须分页显示,并且不能用DataGrid的内置分页功能,于是自己实现

ASP.NET自定义控件 第十天 实现分页功能的DataList

1. 引言 在ASP.NET中DataList可以实现数据展示,我们可以通过定制其模版实现丰富 的格式,但是美中不足的时DataList默认情况下不支持分页,我们当然可以编写 一个用户控件以实现分页功能,但是这种方案仍然不是很好,我们希望像使用普 通ASP.NET服务器端控件一样,只需要放置一个DataList并设置分页样式就可以输 出分页链接. 在上次任务中我们创建了DataPager类将创建分页的操作从GridView分离出来 ,本次任务将尝试重用DataPager类为DataList增加分

最简单查询带分页功能的代码

晚上,应一位网友的求助,偶写了个最简单的查询带分页功能的页面(跳转分页时查询条件不丢失),希望对大家有所帮助.先建立一个Access的数据库Db1.mdb,里面有一个数据表Dicky,共4个字段:字段名 数据类型ID AutoNumberName TextSex TextAge NumberQQ Number建立完库后请自行添加几条数据作为测试.Page.asp代码如下:<html><head><title>分页测试</title><script la

lucene.net 3.0.3、结合盘古分词进行搜索的小例子(分页功能)

添加:2013-12-25 更新:2013-12-26 新增分页功能. 更新:2013-12-27 新增按分类查询功能,调整索引行新增记录的图片字段. 最新盘古分词dll和词典管理工具下载:http://pangusegment.codeplex.com/ 词典下载:http://pangusegment.codeplex.com/releases/view/47411  //封装类 using System; using System.Collections.Generic; using Sy

应用服务器-SlickGrid服务端分页的实现

问题描述 SlickGrid服务端分页的实现 业务数据量很大,如果采用自带的插件每次获取全部数据在页面翻页,会导致应用服务器内存溢出,是否有支持服务端分页加载数据,, 解决方案 这个你通过sql实现分页就可以了,每次只select出一页的数据 解决方案二: 前端只需要把页数,每页数量,当前最后记录的key值告诉服务端,服务端从数据库选取下一页数据给你