jquery easyui datagrid 加载已有得数据翻页 rownumber不变的解决办法
来源:互联网 发布:人人贷网络p2p借贷 编辑:程序博客网 时间:2024/05/22 00:33
今天遇见了这么个问题
使用easyui的datagrid加载已经页面上已有的数据时,加载什么的问题,翻页数据也更新,但是rownumber始终是从1到10;
应该有不少同仁都遇见过这个问题,之前度娘始终没找到争取答案,不知道是没有还是度娘不给看,索性自己想了个解决办法;
正常情况下我们都是这么写的:
$("#infoTable").datagrid({
title:"批量查询结果",
rownumbers:true,
fitColumns:true,
pagination:true,
data:data.slice(0,10),
columns:[
[
{field:'field1', align:"center", title:"field1Name",width:150},
{field:'field2', align:"center", title:"field2Name",width:150},
{field:'field3', align:"center", title:"field3Name",width:150},
{field:'field4', align:"center", title:"field4Name",width:100},
{field:'field5', align:"center", title:"field5Name",width:100}
]
]
});
pager = $("#deviceTable").datagrid("getPager");
pager.pagination({
total: deviceList.length,
onSelectPage:function (pageNo, pageSize) {
var start = (pageNo - 1) * pageSize;
var end = start + pageSize;
$("#deviceTable").datagrid("loadData", pageList.slice(start, end));
pager.pagination('refresh', {
total:deviceList.length,
pageNumber:pageNo
});
}
});
为了现实row number,会增加一个rownumbers:true,
如果每次翻页都是请求链接,就不会出现rownumber不变化的情况,但是如果是实用页面上已有的数据,翻页就会出现我所说的问题,
解决方案就是在这个onSelectPage里面做文章,用firebug可以看到row number的值都是放在class为 datagrid-cell-rownumber的div中
那么干脆就直接把这些div拿出来,然后自己算个序号出来,修改div中的值
代码如下
var rowNumbers = $('.datagrid-cell-rownumber');
$(rowNumbers).each(function(index){
var row = parseInt($(rowNumbers[index]).html()) + parseInt(start);
$(rowNumbers[index]).html("");
$(rowNumbers[index]).html(row);
});
这样就可以完美解决这个问题,下面是完整的代码
var pager = $("#infoTable").datagrid("getPager");
pager.pagination({
total:data.length,
onSelectPage:function (pageNo, pageSize) {
var start = (pageNo - 1) * pageSize;
var end = start + pageSize;
$("#infoTable").datagrid("loadData", data.slice(start, end));
var rowNumbers = $('.datagrid-cell-rownumber');
$(rowNumbers).each(function(index){
var row = parseInt($(rowNumbers[index]).html()) + parseInt(start);
$(rowNumbers[index]).html("");
$(rowNumbers[index]).html(row);
});
pager.pagination('refresh', {
total:data.length,
pageNumber:pageNo
});
}
});
注意顺序,先loadData,再去修改row number的值,如果顺序反了,那么你会发现没生效,实际是生效的,只是修改的是前一页数据的序号,到此问题解决,如果有更好办法的同学,请指教
- jquery easyui datagrid 加载已有得数据翻页 rownumber不变的解决办法
- jQuery easyui datagrid 的数据加载
- jQuery easyui datagrid 的数据加载
- Easyui Datagrid的Rownumber行号显示问题
- 浅析Easyui Datagrid的Rownumber行号显示
- Easyui Datagrid的Rownumber行号显示问题
- easyui datagrid 的数据加载
- easyui datagrid 的数据加载
- easyui datagrid 的数据加载
- EasyUi的datagrid数据加载
- JQuery easyui datagrid重新加载数据
- jquery-easyui:datagrid初始化不加载数据
- jquery datagrid在加载异常数据时报错的解决办法
- easyui datagrid 的数据加载Json数据
- jquery easyui datagrid加载数据不符合datagrid能够解析的格式处理方法
- jquery easyui datagrid 两次加载的问题
- Jquery EasyUI dataGrid加载图片时,序号出现错行的解决办法
- 再次谈谈easyui datagrid 的数据加载
- 025.自定义View中应用贝塞尔曲线
- forward的细节(2)
- bochs安装(ubuntu)
- Xamarin.iOS调试提示需要iOS SDK
- X264码率控制总结1——ABR,CQP,CRF
- jquery easyui datagrid 加载已有得数据翻页 rownumber不变的解决办法
- robotframework安装appium
- CentOS6.4下编译caffe深度学习框架实践!!!
- 使用Android自带属性实现基本的控件展示效果
- listview的自定义adapter不执行getview()分析
- Apache下favicon.ico文件找不到的问题
- 参数化SQL语句
- redis使用Lua脚本
- 97. Interleaving String