由于项目原因,用了jquery easyui 感觉界面不错,皮肤样式少点,可是官网最近打不开了,资料比较少,给的demo没有想要的效果,今天在用datagrid 做分页显示的时候,折腾了半天,网上的资料也比较少,后自己动手,终于解决,废话不说,开始:

datagrid分页有一个附加的分页控件,只需后台获取分页控件自动提交的两个参数rows每页显示的记录数和page;//当前第几页

然后读取相应页数的记录,和总记录数total一块返回即可 界面如下:

1、下边是datagrid的显示对话框,我直接用table把列头显示出来,感觉比用js写要易于阅读

<table id="list_data" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th field="fldAppDept" width="100">部门</th>
<th field="fldAppNode" width="100">网站</th>
<th field="fldAppName" width="100">名称</th>
<th field="fldAppMgr" width="100">管理员</th>
<th field="fldAppNote" width="100">注释</th>
<th field="fldAppType" width="100">类型</th>
<th field="fldTelphone" width="100">电话</th>
<th field="fldAppImg" width="100">职务</th>
<th field="fldAppMonitor" width="100">启用监测</th>
<th field="fldAppLevel" width="100">要重级别</th>
</tr>
</thead>
</table>

2、js代码,用于构建datagrid

注意 要想显示分页控件,pagination属性必须为true

$(function() {
//datagrid初始化
$('#list_data').datagrid({
title:'应用系统列表',
iconCls:'icon-edit',//图标
width: 700,
height: 'auto',
nowrap: false,
striped: true,
border: true,
collapsible:false,//是否可折叠的
fit: true,//自动大小
url:'listApp.action',
//sortName: 'code',
//sortOrder: 'desc',
remoteSort:false,
idField:'fldId',
singleSelect:false,//是否单选
pagination:true,//分页控件
rownumbers:true,//行号
frozenColumns:[[
{field:'ck',checkbox:true}
]],
toolbar: [{
text: '添加',
iconCls: 'icon-add',
handler: function() {
openDialog("add_dialog","add");
}
}, '-', {
text: '修改',
iconCls: 'icon-edit',
handler: function() {
openDialog("add_dialog","edit");
}
}, '-',{
text: '删除',
iconCls: 'icon-remove',
handler: function(){
delAppInfo();
}
}],
});
//设置分页控件
var p = $('#list_data').datagrid('getPager');
$(p).pagination({
pageSize: 10,//每页显示的记录条数,默认为10
pageList: [5,10,15],//可以设置每页记录条数的列表
beforePageText: '第',//页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
/*onBeforeRefresh:function(){
$(this).pagination('loading');
alert('before refresh');
$(this).pagination('loaded');
}*/
});
});

3、后台我是通过struts2处理的数据 返回json串

private JSONObject result;//返回的json  

    private String rows;//每页显示的记录数  

    private String page;//当前第几页  

        private AppServiceInter appService;  

    public JSONObject getResult() {
return result;
}
public void setResult(JSONObject result) {
this.result = result;
}
public void setAppService(AppServiceInter appService) {
this.appService = appService;
} public String getRows() {
return rows;
}
public void setRows(String rows) {
this.rows = rows;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
/**
* 查询应用系统
* @return
*/
public String listApp() {
System.out.println("---------------");
//当前页
int intPage = Integer.parseInt((page == null || page == "0") ? "1":page);
//每页显示条数
int number = Integer.parseInt((rows == null || rows == "0") ? "10":rows);
//每页的开始记录 第一页为1 第二页为number +1
int start = (intPage-1)*number; List<TblApp> list = appService.findByPageApp(start,number);//每页的数据,放入list
Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map
jsonMap.put("total", appService.getCountApp());//total键 存放总记录数,必须的
jsonMap.put("rows", list);//rows键 存放每页记录 list
result = JSONObject.fromObject(jsonMap);//格式化result 一定要是JSONObject //result = JSONArray.fromObject(jsonMap);
return SUCCESS;
}

4、附上struts.xml配置文件

<package name="app" extends="json-default">
<action name="listApp" class="appAction" method="listApp">
<result type="json">
<param name="root">result</param>
</result>
</action>
</package>

特写出这些,方便自己或他人以后参考 ,如果有什么问题大家可以留言......

本文转自:http://www.cnblogs.com/huozhicheng/archive/2011/09/27/2193605.html

最新文章

  1. Eclipse Android环境搭建
  2. silverlight使用小计(先做记录后续整理)
  3. [NHibernate]Nullables
  4. Linux常用命令组合
  5. HDFS的运行原理(转)
  6. 请添加 MIME 映射
  7. jszs 历史管理
  8. :last-child的诡异的问题!!
  9. [转]关于SQL分页存储过程的分析
  10. mysql 行锁排查
  11. STM32中的位带(bit-band)操作(转)
  12. 一段神奇的代码-关于PHP字符变量奇怪现象的解释
  13. iOS 注册密码加密 添加了时间戳 遇到的问题...
  14. HTML标题
  15. 《JavaScript高级程序设计》笔记:客户端检测(九)
  16. Http请求笔记
  17. hibernate多对多关系
  18. python yield from
  19. 00-自测4. Have Fun with Numbers
  20. pandas中series和dataframe之间的区别

热门文章

  1. 【Hibernate】Hibernate系列8之管理session
  2. 《ASP.NET1200例》高亮显示ListView中的数据行并自动切换图片
  3. Linux set env export declare unset
  4. mysql导入和导出数据
  5. hdu 1272 小希的迷宫 解题报告
  6. codeforces C1. The Great Julya Calendar 解题报告
  7. Java的switch用法
  8. JSTL分类查询
  9. CentOS下源码安装mplayer播放器
  10. errno 错误码