引入easyui
--先引入jquery.js再引入easyui.js
<script src="js/easyUI-1.3.1/jquery-1.8.0.min.js" type="text/javascript"></script> <script src="js/easyUI-1.3.1/jquery.easyui.min.js" type="text/javascript"></script>
<link href="js/easyUI-1.3.1/themes/icon.css" rel="stylesheet" type="text/css" /> <link href="js/easyUI-1.3.1/themes/default/easyui.css" rel="stylesheet" type="text/css" />
1.Layout
--必须要有region:'center'
<body class="easyui-layout"> <div data-options="region:'north',border:false" style="overflow: hidden; height: 20px; background: url(images/layout-browser-hd-bg.gif) #7f99be repeat-x center 50%;"> ... </div> <div data-options="region:'west',title:'我的菜单',iconCls:'icon-leftmenu',split:true" style="width: 160px; overflow: hidden;"> ... </div> <div data-options="region:'center'" style="overflow: hidden"> ... </div> </body>
2.Tabs
--demo
<div id="tabs" class="easyui-tabs" fit="true" border="false"> <div title="欢迎使用" style="padding: 20px; overflow: hidden;" id="home">
... </div>
<div title="tab1">
...
</div>
</div>
--新增一个选项卡
function addTab(subtitle, url, icon) { if ($("#tabs").tabs('exists', subtitle)) { $('#tabs').tabs('select', subtitle); } else { $('#tabs').tabs('add', { title: subtitle, closable: true, href: url, icon: icon, selected: true }); } }
--关闭一个选项卡
$("#tabs").tabs('close','tab1')
3.Accordion
--demo
<div id="aa" class="easyui-accordion" style="width:300px;height:200px;"> <div title="Title1" data-options="iconCls:'icon-save'" style="overflow:auto;padding:10px;"> <h3 style="color:#0099FF;">Accordion for jQuery</h3> <p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p> </div> <div title="Title2" data-options="iconCls:'icon-reload',selected:true" style="padding:10px;"> content2 </div> <div title="Title3"> content3 </div> </div>
--生成accordion型菜单 (只能两层)
--后台json private void GetMenus(HttpContext context) { BLL.System.Menu b_menu = new BLL.System.Menu(); DataSet ds = b_menu.GetListByempID(emp_id); StringBuilder sb = new StringBuilder(); string strJSON = ""; sb.Append("{\"menus\":["); if (ds.Tables[0].Rows.Count > 0) { DataView dv = new DataView(ds.Tables[0]); dv.RowFilter = " menu_pid=0"; dv.Sort = " menu_sort "; for (int i = 0; i < dv.Count; i++) { if (i > 0) { sb.Append(","); } sb.Append("{\"menu_id\":\"" + dv[i]["menu_id"] + "\",\"menu_icon\":\"" + dv[i]["menu_icon"] + "\",\"menu_name\":\"" + dv[i]["menu_name"] + "\","); sb.Append("\"menus\":"); DataView dv2 = new DataView(ds.Tables[0]); dv2.RowFilter = " menu_pid=" + dv[i]["menu_id"]; dv2.Sort = " menu_sort"; if (dv2.Count > 0) { strJSON = JsonConvert.SerializeObject(dv2.ToTable(), new DataTableConverter()); sb.Append(strJSON); } else { sb.Append("\"\""); } sb.Append("}"); } sb.Append("]}"); } strJSON = sb.ToString() == "{\"menus\":[" ? "[]" : sb.ToString(); context.Response.Write(strJSON); }
//初始化左侧 function initleftMenu() { $("#leftside").accordion(); $.post('.....'), function (json) { if (JSON.stringify(json) != '[]') { $.each(json.menus, function (i, n) { var menulist = ''; menulist += '<ul>'; $.each(n.menus, function (j, o) { menulist += '<li><div><a ref="' + o.menu_id + '" href="javascript:void(0)" rel="' + o.menu_linkaddress + '" ><span class="' + o.menu_icon + '" > </span><span class="nav">' + o.menu_name + '</span></a></div></li> '; }) menulist += '</ul>'; $('#leftside').accordion('add', { title: n.menu_name, content: menulist, iconCls: n.menu_icon, selected: n.menu_name == '和谐' ? true : false }); } ) } $('.easyui-accordion li a').click(function () { var tabTitle = $(this).children('.nav').text(); var url = $(this).attr("rel"); var menu_id = $(this).attr("ref"); var s = $(this).children('span'); var icon = s.attr('class'); addTab(tabTitle, url, icon); //创建tabs $('.easyui-accordion li div').removeClass("selected"); $(this).parent().addClass("selected"); }).hover(function () { $(this).parent().addClass("hover"); }, function () { $(this).parent().removeClass("hover"); }); }, 'json') };
4.Menu
--简单的右键菜单绑定 $(function () { $(document).bind('contextmenu', function (e) { $('#mm').menu('show', { left: e.pageX, top: e.pageY }) return false; }) })
$('#mm-tabclose').click(function () { var tab = $('#tabs').tabs('getSelected'); var index = $('#tabs').tabs('getTabIndex', tab); $('#tabs').tabs('close', index); });
<div id="mm" class="easyui-menu" style="width:100px;"> <div id=mm-tabclose>关闭当前</div> <div href='http://www.baidu.com'>百度</div> <div> <span>Open</span> <div style="width:100px;"> <div><b>Word</b></div> <div>PowerPoint</div> </div> </div> <div data-options="iconCls:'icon-save'">Save</div> <div class="menu-sep"></div> <div>Exit</div> </div>
5.Form
$('#ff').form({ url:..., onSubmit: function(){ // do some check // return false to prevent submit; }, success:function(data){ alert(data) } }); // submit the form $('#ff').submit();
6.Validatebox
<input id="vv" class="easyui-validatebox" data-options="required:true,validType:'email'" /> $.extend($.fn.validatebox.defaults.rules, { equals: { validator: function(value,param){ return value == $(param[0]).val(); }, message: 'Field do not match.' }, minLength: { validator: function(value, param){ return value.length >= param[0]; }, message: 'Please enter at least {0} characters.' }, name: {// 验证姓名,可以是中文或英文 validator: function (value) { return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value); }, message: '请输入姓名' },
integer: {// 验证整数 validator: function (value) { return /^[+]?[0-9]+\d*$/i.test(value); }, message: '请输入数字' },
});
7.Combobox
$('#cc').combobox({ url: '....', valueField: 'id', textField: 'text', width: 100, editable: false, value: '1', multiple,false, onLoadSuccess: function () { '...'; }, onSelect: function () { '...'; } }); $('#cc').combobox('getValue');
$('#cc').combobox('SetValue','1');
8.Datetimebox
$('#dt').datetimebox({ value: '3/4/2010 2:3', required: true, showSeconds: false });
9.Dialog
$('#' + _clausediv).show().dialog({ title: '修改', iconCls: 'icon-edit', modal: true, cache: false, resizable: false, closed: false, closable: true, width: 350, height: 250, buttons: [ { text: '确定', iconCls: 'icon-ok', handler: function () { ... } } ], onOpen: function () { ... }, onClose: function () { ... } });
10.Messager
$.messager.show({ title:'提示', msg:'操作成功!', timeout:5000, showType:'slide', width:250, height:100 }); $.messager.alert('My Title','Here is a info message!','info'); $.messager.confirm('Confirm', 'Are you sure to exit this system?', function(r){ if (r){ // exit action; } });
11.DataGrid
--datagrid 多行编辑
var _isedit = false; var editRow = []; var checkids = ''; var check_id = []; $('#dg').datagrid({ url: 'ashx/...', rownumbers: true, idField: 'cr_id', fit: true, fitColumns: false, nowrap: false, pagination: true, pageNumber: 1, pageSize: 10, pageList: [10, 20, 40], singleSelect: true, sortName: 'cr_name', striped: false, toolbar: [ { text: '修改', iconCls: 'icon-edit', handler: function () { beginedit(); } }, '-', { text: '保存', iconCls: 'icon-save', handler: function () { saveedit(); } } ], columns: [[ { title: 'id', field: 'cr_id', checkbox: true }, { title: '名称', field: 'cr_name', sortable: true, editor: { type: 'text'} }, { title: '操作', field: 'opt', width: 200, align: 'center', formatter: function (value, row, index) { return '<a href="javascript:opt1(' + index + ');">操作</a>'; } } ]], rowStyler: function (index, row) { if (row.price > 80) { return 'background-color:#FFFFFF'; } }, onAfterEdit: function (rowIndex, rowData, changes) { var rows = $('#dgcht').datagrid('getRows'); var row = _rows[rowIndex]; $('#dgcht').datagrid('getChanges', 'updated'); check_id.push(_row.trainee_id + '{' + _row.trainee_examine); } }); //开始修改 function beginedit() { var rows = $('#dg').datagrid('getSelections'); if (rows.length > 0&&!_isedit) { for (var i = 0; i < rows.length; i++) { var index = $('#dg').datagrid('getRowIndex', rows[i]); $('#dg').datagrid('beginEdit', index); editRow.push(index); } _isedit = true; } } //保存修改 function saveedit() { if (_isedit) { for (var j = 0; j < editRow.length; j++) { $('#dg').datagrid('endEdit', editRow[j]); } checkids = check_id.join(','); $.post( '..' , function (r) { }, 'text' ); _isedit = false; } check_id = []; editRow = []; checkids = ''; }
12.Tree
--树形菜单 function initleftMenu() { $('#leftside').tree({ url: '...', onClick: function (node) { if (node.attributes.url != "") { addTab(node.text, node.attributes.url, node.iconCls); } } }) } --异步获取json树 public static string GetMyTreeJsonByTableasyn(DataTable table, string url, string idCol, string txtCol, string rela, int pid,string icon) { StringBuilder sb = new StringBuilder(); if (table.Rows.Count > 0) { sb.Append("["); string filter = null; if (pid == 0) { filter = rela + " =0"; } else { filter = rela + "=" + pid; } DataRow[] rows = table.Select(filter,"menu_sort"); if (rows.Length > 0) { foreach (DataRow row in rows) { sb.Append("{\"id\":" + row[idCol] + ",\"text\":\"" + row[txtCol] + "\",\"state\":\""); if (table.Select(string.Format("{0}='{1}'", rela, row[idCol])).Length > 0) { sb.Append("closed\",\"iconCls\":\"" + row[icon] + "\","+"\"attributes\":{" + "\"url\":" + "\""+row[url]+"\"" + "}"); } else { sb.Append("\",\"iconCls\":\"" + row[icon] + "\","+ "\"attributes\":{" + "\"url\":" + "\""+row[url]+"\"" + "}"); } sb.Append("},"); } sb = sb.Remove(sb.Length - 1, 1); } sb.Append("]"); } return sb.ToString(); } } --同步获取json tree
public static string getmytreejsonbytablesyn(DataTable table,string url,string idCol,string txtCol,string rela,int pid ,string icon) { StringBuilder sb = new StringBuilder(); DataRow[] rows = table.Select(rela + "=" + pid); if (rows.Length > 0) { if (pid == 0) { sb.Append("["); } else { sb.Append(",\"children\":["); } foreach (DataRow row in rows) { sb.Append("{"); sb.Append("\"id\":" + row[idCol].ToString() + ","); sb.Append("\"text\":\"" + row[txtCol].ToString() + "\","); sb.Append("\"iconCls\":\"" + row[icon].ToString() + "\""); if(!string.IsNullOrEmpty(row[url].ToString())){ sb.Append(",\"attributes\":{\"url\":\"" + row[url].ToString() + "\"}"); } sb.Append(getmytreejsonbytablesyn(table, url, idCol, txtCol, rela, Convert.ToInt32(row[idCol]), icon)); sb.Append("},"); } sb.Remove(sb.Length - 1, 1); sb.Append("]"); return sb.ToString(); } else { return ""; } }