EasyUI實戰經驗總結
最近公司培訓EasyUI,就做下總結吧,給有需要的人,源碼在文章最后。
1、最常用的表格
<div class="easyui-panel" data-options="region:'center'" style="padding: 20px">
<table id="dg"></table>
</div>注意<table>標簽,我們將利用這個標簽進行表格加載
$("#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;
}
}
}
]]
});那么頁面的效果是:
感覺easyui的界面還是蠻清爽的
這邊的nav.json是一個json格式文件內容是
{
"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 }
]
}2、表格擴展,下面是擴展的寫法
$.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、表單
<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
$("#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、樹,直接看代碼吧,代碼有注釋
$("#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文件
[
{
"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文件
<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
來自:http://www.cnblogs.com/huaizuo/p/4583597.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!