专栏首页寻找石头鱼EasyUI学习笔记---Datagrid真分页

EasyUI学习笔记---Datagrid真分页

EasyUI Datagrid组件在我看来功能还是很强大的,在我使用过程中遇到分页请求的问题困扰了一天才解决,下面我就把我遇到的问题分享一下

//datagrid数据表格渲染

$("#dg").datagrid({ loader: function(param, success, error) { var pageNumber = param.page; var pageSize = param.rows; $.ajax({ type: "get", url: url, dataType: 'jsonp', data: "pageNum=" + pageNumber + "&pageSize=" + pageSize, success: function(data) { if(data.code == 0) { var arr = data.result.content; $("#dg").datagrid('loadData', { total: data.result.page.totalRecord, rows: arr }) } }, error: function() { error.apply(this, arguments); } }); } })

传入的参数有param, success, error可选

这里我主要用到了param,param有param.page(页码)和param.rows(每页显示行数)两个属性,由于页面载入之后就要进行查询,所以这个参数是必须的;

一 遇到的第一个问题是跨域,这个在之前的文章有些过,这里就不赘述了;

二 其次就是请求回的数据怎么渲染到表格中,由于是真分页,所以每次查询的数据只是当前页面的数据,并不是所有的数据,但是页脚显示数据总数必须是所有数据,这样才能就行分页。

最后通过查看资料发现,loadData方法可以传入一个json格式的数据$("#dg").datagrid('loadData', { total: data.result.page.totalRecord, rows: arr }),这样就解决了数据渲染分页请求的问题

三 由于我启用了loadMsg属性,即在请求后台数据的时候会显示正在加载的状态,但是请求成功之后此状态并未隐藏,最后通过设置

onLoadSuccess: function(data) { //查询成功是隐藏正在加载状态。 $(this).datagrid("loaded"); }

在数据加载成功之后隐藏正在加载状态

四 点击下一页进行查询

//点击下一页 $('#dg').datagrid('getPager').pagination({ //刷新按钮执行的操作 onBeforeRefresh: function() {}, onSelectPage: function(pageNumber, pageSize) { $("#dg").datagrid('loading'); //显示加载信息 $.ajax({ type: "get", url: url, dataType: 'jsonp', data: "pageNum=" + pageNumber + "&pageSize=" + pageSize , success: function(data) { if(data.code == 0) { //数据返回成功后填充到表格中 var arr = data.result.content; $("#dg").datagrid('loadData', { total: data.result.page.totalRecord, rows: arr }) } }, error: function() { error.apply(this, arguments); } }) } });

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • React数组变化之后,视图没有更新

    寻找石头鱼
  • 原生js实现二级联动下拉列表菜单

    if(data.code == 0) { //查询成功 var param = data.content; for(i = 0; i < par...

    寻找石头鱼
  • 深入理解ES6之—set与map

    Set是无重复值的有序列表。Set会自动移除重复的值,因此你可以使用它来过滤数组中重复的值并返回结果。

    寻找石头鱼
  • [LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

    https://github.com/cwiki-us/java-tutorial/blob/master/src/test/java/com/ossez/la...

    HoneyMoose
  • DWR的简单使用

    3 标签是dwr中重要的标签,用来描述 java(服务器端) 与 javascript (客户端)的交互方式。 其中,creator和javascript...

    qubianzhong
  • 微信小程序导航参数中含有问号

    和三一样,还可以使用 encodeURIComponent 和 decodeURIComponent 这就是小程序中导航的参数含有?的解决方案,如果还有其他好...

    韦弦zhy
  • 高效访问海量地图数据--用OpenLayers访问GeoServer发布的地图

    我叫刘半仙
  • 让linux程序在后台运行

    最近要用php进程发奖励,因为要精确到秒执行,linux系统的定时用不了,于是写了个死循环,usleep是必须的,否则系统cpu占用很高的系统cpu。

    用户3094376
  • 1 小程序开发 - 获取用户登录信息

    用户5927264
  • Kmeans算法的Python实现

    用户2183996

扫码关注云+社区

领取腾讯云代金券