前端用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. unity3d发布安卓出错plese set the package name

    发布时报错 参考https://forum.unity.com/threads/where-is-package-name-setting.318839/ 参考https://answers.unit ...

  2. golang中的GOPATH使用和简单项目配置

    GOPATH 是 Go 语言的工作目录,他的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区. 我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路 ...

  3. DQL语句总结

    6.DQL语句总结 select ... from ... where ... group by ... having ... order by ... limit .... 执行顺序? 1,from ...

  4. AOP-基本概念

    AOP(概念) 1,什么是AOP (1)面向切面(方面)编程 :利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. (2)通 ...

  5. JavaScripts之迪卡算法求积(n*n)适用于SKU信息计算等场景

    迪卡算法求积(n * n) 使用 array.reduce 的方式实现 笛卡尔积算法 const arr = [ ['黑色', '白色', '蓝色'], ['1.2KG', '2.0KG', '3.0 ...

  6. 洛谷 8 月月赛 & 「PMOI」Round · 04

    T1 T166167 「PMOI-4」人赢 题目大意 给一个数列的前两项分别为\(n\)和\(m\) 当\(i\geq3\)时\(a_i = a_{i-1}*a_{i-2}\)的个位 给定\(n\), ...

  7. 在java中静态方法与非静态方法

    在java中public void与public static void有什么区别 ? public void 修饰是非静态方法,该类方法属于对象,在对象初始化(new Object())后才能被调用 ...

  8. bom-对话框

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

  9. Android SDK:Android standard develop kits 安卓开发的工具集

    目前主流的安卓开发工具: 1.Adnroid-Adt-bundle SDK Manager.exe: Tools(安卓的开发小工具) 各种安卓版本 Extras 额外的开发包 在线更新/安装的安卓版本 ...

  10. nodejs 文件上传服务端实现

    前段时间在做个人项目的时候,用到了nodejs服务端上传文件,现在回头把这个小结一下,作为记录. 本人上传文件时是基于express的multiparty,当然也可以使用connect-multipa ...