EasyUI实战经验总结(转)
最近公司培训EasyUI,就做下总结吧,给有需要的人,源码在文章最后。
1、最常用的表格
1
2
3
|
< div class="easyui-panel" data-options="region:'center'" style="padding: 20px"> < table id="dg"></ table > </ div > |
注意<table>标签,我们将利用这个标签进行表格加载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
$( "#dg" ).datagrid({ //---------------------------- 属性 Properties ---------------------------- //请求类型 默认post method: "get" , //请求url地址 默认null url: "../../../json/grid.json" , toolbar: [{ iconCls: 'icon-add' , handler: function () { alert( "add" ); } }, { iconCls: 'icon-edit' , handler: function () { //alert("edit"); console.log($( "#dg" ).datagrid( "getChecked" ), $( "#dg" ).datagrid( "getSelected" )); } }, { iconCls: 'icon-remove' , handler: function () { alert( "remove" ); } }], //是否分页 默认false pagination: true , //分页的位置 默认bottom ['top','bottom','both'] pagePosition: "bottom" , //每页数量 默认10 pageSize: 50, //每页页数控制 默认[10,20,30,40,50] pageList: [50, 100, 200, 500], //当前页 默认1 pageNumber: 1, //列配置 columns: [ [{ field: 'DHOrderNo' , title: "订货单编号" , width: 100, halign: "center" , align: "left" , resizable: false }, { field: 'TotalQty' , title: "订单总数" , width: 100, sortable: true , editor: "text" }, { field: 'SupplierName' , title: "供应商" , width: 100, sortable: true , //格式化对象 formatter: function (value, row, index) { if (value) { return value.Name; } }, //注意:如果该列数据源是Object需按以下方式排序 //不一定要用显示的属性,也可以使用其他属性,看情况而定。 sorter: function (a, b) { return a.Name == b.Name ? 0 : a.Name > b.Name ? 1 : -1; } }, { field: 'CreateDate' , title: "创建日期" , width: 100, editor: "datebox" }, { field: 'action' , title: '操作' , width: 70, align: 'center' , formatter: function (value, row, index) { if (row.editing) { //编辑中 var s = '<a href="#" onclick="saverow(this)">保存</a> ' ; var c = '<a href="#" onclick="cancelrow(this)">取消</a>' ; return s + c; } else { var e = '<a href="#" onclick="editrow(this)">修改</a> ' ; var d = '<a href="#" onclick="deleterow(this)">删除</a>' ; return e + d; } } } ]] }); |
那么页面的效果是:
1
2
3
4
5
6
7
8
9
10
11
12
|
{ "total" :360, "rows" :[ { "DHOrderNo" :1, "Funding" : "资金方1" , "Number" :2, "Unit" :50, "TotalQty" :100, "SupplierName" :{ "Id" :1, "Name" : "供应商1" }, "CreateDate" : "2015-05-21" , "Flag" :1 }, { "DHOrderNo" :2, "Funding" : "资金方2" , "Number" :5, "Unit" :50.01, "TotalQty" :250.05, "SupplierName" :{ "Id" :2, "Name" : "供应商2" }, "CreateDate" : "2015-05-21" , "Flag" :0 }, { "DHOrderNo" :3, "Funding" : "资金方3" , "Number" :10, "Unit" :60, "TotalQty" :600, "SupplierName" :{ "Id" :3, "Name" : "供应商3" }, "CreateDate" : "2015-05-21" , "Flag" :1 } ], "footer" :[ { "Funding" : "平均" , "TotalQty" : 316.68 }, { "Funding" : "总和" , "TotalQty" : 950.05 } ] } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
$.fn.ProductGrid = function (options, param) { var me = this ; //判断options是否是string类型 if ( typeof options == 'string' ) { //根据options从datagrid的配置中查找 var method = $( this ).datagrid( 'options' )[options]; //如果没找到,从$.fn.ProductGrid的methods中查找 if (!method) method = $.fn.ProductGrid.methods[options]; //如果存在,调用方法 if (method) return method( this , param); else alert(options + 'can not support' ); } var defaults = { url : options.url, method : 'get' , border : false , singleSelect : true , fit : true , fitColumns : true , //附加的公共方法 searchByPage : function (jq, id) { alert( 'this is public function!' ); $(me).datagrid( 'load' , {}); }, columns : [ [ {field: 'DHOrderNo' ,title: "ID" ,width:80}, {field: 'Funding' ,title: "资金方" ,width:100}, { field: 'TotalQty' , title: "数量" , width: 80 } ]] }; options = $.extend(defaults, options); $(me).datagrid(options); }; |
2、表单
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<form id= "form" method= "get" > <table> <tr> <td>姓名:</td> <td><input class = "easyui-validatebox" type= "text" name= "name" data-options= "required:true" ></input></td> </tr> <tr> <td>Email:</td> <td><input class = "easyui-validatebox" type= "text" name= "email" data-options= "validType:'email'" ></input></td> </tr> <tr> <td>备注:</td> <td> <textarea name= "message" style= "height:60px;" ></textarea></td> </tr> <tr> <td>年龄:</td> <td><select name= "age" class = "easyui-combobox" > <option value= "1" >20~30</option> <option value= "2" >30~40</option> <option value= "3" >40以上</option> </select></td> </tr> <tr> <td>日期:</td> <td><input class = "easyui-datebox" name= "date" /></td> </tr> <tr> <td>数字:</td> <td><input class = "easyui-numberbox" name= "number" /></td> </tr> </table> <div> <a id= "load" class = "easyui-linkbutton" href= "javascript:" >加载本地数据</a> <a id= "load2" class = "easyui-linkbutton" href= "javascript:" >加载ajax数据</a> <a id= "submit" class = "easyui-linkbutton" href= "javascript:" >提交</a> <a id= "clear" class = "easyui-linkbutton" href= "javascript:" >清空</a> </div> </form> |
对应的js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$( "#submit" ).on( "click" , function (){ $( '#form' ).form( "submit" ,{ url: "../../json/submit.json" , onSubmit: function (pParam){ //附加表单以外的一些验证 //通过pParam附加一些提交参数 pParam.index = 1; return $( '#form' ).form( "validate" ); }, success: function (data){ alert(data); } }); }); $( "#clear" ).on( "click" , function (){ $( '#form' ).form( "reset" ); }); |
注意表单中的easyui属性,运行的效果如:
3、树,直接看代码吧,代码有注释
1
2
3
4
5
6
7
8
9
10
|
$( "#tree" ).tree({ url: "json/nav.json" , method: "get" , lines: true , onClick: function (node){ if (node.url && node.url.length > 0){ _this.add(node.text,node.url,node.id,node.icon); } } }); |
数的json文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[ { "id" :101, "text" : "2、表单" , "children" :[ { "id" :2, "text" : "2.1、简单示例" , "url" : "views/form/form.html" }, { "id" :3, "text" : "2.2、常用示例" , "url" : "views/form/forms.html" } ] },{ "id" :102, "text" : "3、表格" , "children" :[ { "id" :4, "text" : "3.1、简单示例" , "url" : "views/grid/grid.html" }, { "id" :5, "text" : "3.2、明细示例" , "url" : "views/grid/gridDetail.html" }, { "id" :6, "text" : "3.2、行编辑示例" , "url" : "views/grid/edit.html" }, { "id" :6, "text" : "3.2、表格编辑示例" , "url" : "views/grid/edit2.html" } ] },{ "id" :103, "text" : "4、树" , "children" :[ { "id" :4, "text" : "4.1、简单示例" , "url" : "views/tree/tree.html" }, { "id" :5, "text" : "4.2、示例" , "url" : "views/tree/treeGird.html" } ] } ] |
如果把这个文件放在vs中,运行index.html时候回报错,请在web.config中配置,才能识别.json文件
1
2
3
4
5
|
< system.webServer > < staticContent > < mimeMap fileExtension=".json" mimeType="application/json" /> </ staticContent > </ system.webServer > |
源码地址:http://pan.baidu.com/s/1gdH8CCj
EasyUI的中午文档 和学习网站
http://www.zi-han.net/case/easyui/index.html
http://www.jeasyui.net/demo/380.html
EasyUI实战经验总结(转)的更多相关文章
- EasyUI实战经验总结,给有需要的人
最近公司培训EasyUI,就做下总结吧,给有需要的人. 1.最常用的表格 <div class="easyui-panel" data-options="regio ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 特殊问题和实战经验(五)
RAC 特殊问题和实战经验(五) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
随着应用对高性能需求的增加,NoSQL逐渐在各大名企的系统架构中生根发芽.这里我们将为大家分享社交巨头新浪微博.传媒巨头Viacom及图片分享领域佼佼者Pinterest带来的Redis实践,首先我们 ...
- MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验
原文地址:http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的 ...
- MySQL索引实战经验总结
MySQL索引对数据检索的性能至关重要,盲目的增加索引不仅不能带来性能的提升,反而会消耗更多的额外资源,本篇总结了一些MySQL索引实战经验. 索引是用于快速查找记录的一种数据结构.索引就像是数据库中 ...
- 第9期Unity User Group Beijing图文报道:《Unity实战经验分享》
时间来到了金秋九月,北京UUG活动也来到了第九期.本次活动的主题为<Unity实战经验分享>,为此我们邀请了3位资深的行业大神.这次我们仍然在北京市海淀区丹棱街5号微软大厦举行活动,在这里 ...
- ASP.NET Core & Docker 实战经验分享
一.前言 最近一直在研究和实践ASP.NET Core.Docker.持续集成.在ASP.NET Core 和 Dcoker结合下遇到了一些坑,在此记录和分享,希望对大家有一些帮助. 二.中间镜像 我 ...
- Jenkins高级用法 - Jenkinsfile 介绍及实战经验
系列目录 1.Jenkins 安装 2.Jenkins 集群 3.Jenkins 持续集成 - ASP.NET Core 持续集成(Docker&自由风格&Jenkinsfile) 4 ...
- HDFS配置参数及优化之实战经验(Linux hdfs)
HDFS优化之实战经验 Linux系统优化 一.禁止文件系统记录时间 Linux文件系统会记录文件创建.修改和访问操作的时间信息,这在读写操作频繁的应用中将带来不小的性能损失.在挂载文件系统时设置no ...
随机推荐
- 基于Hadoop的地震数据分析统计
源码下载地址:http://download.csdn.net/detail/huhui_bj/5645641 opencsv下载地址:http://download.csdn.net/detail/ ...
- XmlDocument.Load()加载xml文件时,提示分析 EntityName 时出错的问题。
今天一个接口突然报错,错误是: 分析 EntityName 时出错. 行 35,位置 90. xmlDoc.Load(System.Web.HttpContext.Current.Server.Map ...
- JDK源码分析—— ArrayBlockingQueue 和 LinkedBlockingQueue
JDK源码分析—— ArrayBlockingQueue 和 LinkedBlockingQueue 目的:本文通过分析JDK源码来对比ArrayBlockingQueue 和LinkedBlocki ...
- hdu 4685 Prince and Princess(匈牙利算法 连通分量)
看了别人的题解.须要用到匈牙利算法的强连通算法 #include<cstdio> #include<algorithm> #include<vector> #pra ...
- C#的百度地图开发(一)发起HTTP请求
原文:C#的百度地图开发(一)发起HTTP请求 百度地图的开发文档中给出了很多的事例,而当用到具体的语言来开发时,又会有些差异.我是使用C#来开发的.在获取相应的数据时,需要通过URL传值,然后获取相 ...
- 关于IE打印预览内容显示不全的问题解决
眼下在调整一个页面打印功能的时候,发现多行文本框TextArea在页面显示的时候,多行文本能够正常显示,可是在打印页面的时候.部分内容就被遮挡住了, 苦思冥想不得其解,后来还是请教了美工. 首先查了下 ...
- vi 按了ctrl+s之后
再windows不管是写程序.还是用Word写文件.已经习惯了按ctrl+s 保存代码. 在用vi的时候.常常无意中按了ctrl+s,结果就是如同终端死掉了一样. 这是由于ctrl+s 终止屏幕输出( ...
- Cocos2d-x Layout简单使用
1. Text* alert = Text::create("Layout", "fonts/Marker Felt.ttf", 30 ); alert-> ...
- TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error:
今天是2014-06-17.遇到一个很奇怪的问题,可能之前測试改动监听的原因,导致监听启动后自己主动关闭,特此记录一下整个处理过程, 监听配置文件信息例如以下: [oracle@dg1 admin]$ ...
- Visual Studio跨平台开发实战(1) - Hello Xamarin!
原文 Visual Studio跨平台开发实战(1) - Hello Xamarin! 前言 应用程式发展的脚步, 从来没有停过. 从早期的Windows 应用程式, 到网路时代的web 应用程式, ...