前端用easyUI开发时,官方给的文档指导太少,网上找的又很慢,因此,我总结了一个后台返回数据后,用easyUI生成表格的方法,可编辑可分页:

 1 function paginationTable(id, height, pageSize, field, title, data, num) {
2 for (var i = 0; i < field.length; i++) {
3 liensAr.push({field: field[i], title: title[i], width: $(this).width() * 0.2, editor: 'text', align: 'center'});
4 }
5 tableArr.push(liensAr)
6 var columns = JSON.parse(JSON.stringify(tableArr));
7 if (num > pageSize) {
8 $("#" + id).datagrid({//tab_openSub_mySub_tb为table标签的id
9 pagination: true, //显示分页栏
10 height: height,
11 pageSize: pageSize,//分页条件
12 singleSelect: true,
13 columns: columns,
14 striped: true,
15 rownumbers: true
16 });
17
18 $("#" + id).datagrid("loadData", data.slice(0, pageSize));
19
20 var pager = $("#" + id).datagrid("getPager");//分页代码块
21 pager.pagination({
22 total: data.length,
23 onSelectPage: function (pageNo, pageSize) {
24 var start = (pageNo - 1) * pageSize;
25 var end = start + pageSize;
26 $("#" + id).datagrid("loadData", data.slice(start, end));
27 pager.pagination('refresh', {
28 total: data.length,
29 pageNumber: pageNo
30 });
31 }
32 });
33 liensAr = [];
34 tableArr = [];
35 } else {
36 $("#" + id).datagrid({//tab_openSub_mySub_tb为table标签的id
37 height: height,
38 singleSelect: true,
39 columns: columns,
40 striped: true,
41 rownumbers: true
42 });
43
44 $("#" + id).datagrid('loadData', data);
45 liensAr = [];
46 tableArr = [];
47 }
48 }

其中的参数:

id : 前端页面表格的id

height : 表格控件的高度 (如果有分页操作 , 表格高度大于每页显示的最大高度的话 , 会不显示分页栏

pageSize : 每页最大行数

field : 从对象数组中取的属性

title : 对应 field , 表格表头上显示的每列的定义

data : 数据 对象数组

num : 数据的长度

例如:

<table id="table" data-options="fitColumns:true" class="easyui-datagrid" style="width:100%;height:100%;">

</table>
const data = [
{
"id" : 1,
"name" : "aaa",
"age" : 23,
"city" : "shenyang"
},
{
"id" : 2,
"name" : "bbb",
"age" : 22,
"city" : "beijing"
},
{
"id" : 3,
"name" : "ccc",
"age" : 24,
"city" : "shanghai"
}
]

此时,如果想将以上数据生成表格

只需要调用上面的

paginationTable(id, height, pageSize, field, title, data, num)

方法

paginationTable("table",300,10, ['name','age','city'], ['名字','年龄','城市'], data, data.length)

如果数据没达到表格分页最少显示行数 , 会自动取消分页 ; 数据改变之后 , 如果数量达到分页要求 , 会自动分页




 

EasyUI Datagrid 数据网格的更多相关文章

  1. 数据网格和树-EasyUI Datagrid 数据网格、EasyUI Propertygrid 属性网格、EasyUI Tree 树、EasyUI Treegrid 树形网格

    EasyUI Datagrid 数据网格 扩展自 $.fn.panel.defaults.通过 $.fn.datagrid.defaults 重写默认的 defaults. 数据网格(datagrid ...

  2. easyui datagrid数据网格

    EasyUI是一组基于jQuery的UI插件集合,它的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.它的许多控件让我们不必写很复杂的javascript,从而极大地提高了开发效率. ...

  3. EasyUI Datagrid 数据网格 点击选中行 再次单击取消选中行

    适用于jquery-easyui-1.9.15版本: 在项目中全局搜索: opts.singleSelect==true 或者在jquery.easyui.min.js中搜索: opts.single ...

  4. js循环生成多个easyui datagrid数据网格时,初始化表格

    $.each( content, function(i, item){ var info_tpl = "";var result_tpl = "";var pr ...

  5. EasyUI datagrid数据表格的函数getData返回来的是什么

    EasyUI datagrid数据表格的函数getData返回来的是什么? 他返回来的是这么一个对象: Object { rows=[10], total=15} 其中rows就是每一行的数据,是这些 ...

  6. 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  7. 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  8. jquery Easy UI Datagrid(数据网格)学习心德,附API

    第一步,引入主要的css样式和js文件 <meta http-equiv="Content-Type" content="text/html; charset=ut ...

  9. easyui 扩展 datagrid 数据网格视图

    效果如图: js代码: $("#tdg").datagrid({            width: 200,            url: "/Laboratory/ ...

随机推荐

  1. Java高效开发-常用idea插件

    这里推荐几个常用的idea插件,可以大大提高开发的效率 所使用的idea版本为 2021.2.3 1.Jrebel and Xrebel for IntelliJ Jrebel用于热部署,避免频繁重启 ...

  2. 科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  3. 《手把手教你》系列技巧篇(六十一)-java+ selenium自动化测试 - 截图三剑客 -下篇(详细教程)

    1.简介 按照计划宏哥今天将介绍java+ selenium自动化测试截图操作实现的第三种截图方法,也就是截图的第三剑客 - 截取某个元素(或者目标区域)的图片.在测试的过程中,有时候不需要截取整个屏 ...

  4. ping: Network is unreachable

    问题 [root@web-1 yum.repos.d]# ping baidu.com ping: unknown host baidu.com [root@web-1 yum.repos.d]# p ...

  5. JS基础语法(二)

    目录 JavaScript基础语法(二) 八. 函数 1. 函数的概念 2. 函数的使用 声明函数 调用函数 3. 函数的封装 4. 函数的参数 函数的参数匹配问题 5. 函数返回值 6. argum ...

  6. Typora下载安装教程(全面)

    Typora下载与安装 一:下载 1.1百度搜索 https://www.typora.io/ 点击链接进入后映入眼帘的就是一款简洁的Typora网页,然后下滑进入主页. 1.2点击Download( ...

  7. 如何在 IDEA 中添加 Maven 项目的 Archetype(解决添加不起作用的问题)

    前言 在 IDEA 中点击新建 Maven 模块,会发现他已经为我们罗列出来了许多的 archetype,但有些时候满足不了我们的需求.下面就来看看如何添加自己的脚手架吧. 实现过程 新建模块 在 I ...

  8. jquery里面的$(this)和this的区别

    感谢原文作者:何少旭 原文链接:https://www.cnblogs.com/heshaoxu/p/7672736.html 前言 当你用的是jquery时,就用$(this),如果是JS,就用th ...

  9. attachEvent

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. JSP、Servlet和Spring MVC

    感谢原博主!!!https://blog.csdn.net/whut2010hj/article/details/80874008 版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议,转载请 ...