EasyUI使用教程
使用EasyUI必须导入其js以及css等.
1. (l)list界面
效果图:
图1
a) 首先界面布局,这里用jsp为例
<table id="dg" title="人员信息" class="easyui-datagrid" url="/easyui/getUsers"toolbar="#toolbar" pagination="true"rownumbers="true" fitColumns="true" singleSelect="true"> <thead> <tr> <th field="nick_name" width="50">姓名</th> <th field="wx_open_id" width="50">电话</th> <th field="address" width="50">邮箱</th> </tr> </thead> </table> |
note: url是想那个地址请求数据,pagination:是否显示分页.fitColumns是否自动使用宽度,singleSelect是否可以多选
关于<th>中的field的值,必须和数据库中你要显示的字段名相同.
b) 添加/删除/修改等事件
增加效果图(其他略):
图2
按钮定义
<div id="toolbar"> <a href="javascript:void(0)" title="添加用户" class="easyui-linkbutton easyui-tooltip" iconCls="icon-add" plain="true" onclick="newUser();">添加</a> <a href="javascript:void(0)" title="修改用户" class="easyui-linkbutton easyui-tooltip" iconCls="icon-edit" plain="true" onclick="editUser();">编辑</a> <a href="javascript:void(0)" title="删除用户" class="easyui-linkbutton easyui-tooltip" iconCls="icon-remove" plain="true" onclick="destroyUser();">删除</a> <a href="javascript:void(0)" title="刷新" class="easyui-linkbutton easyui-tooltip" iconCls="icon-reload" plain="true" onclick="reload();">刷新</a> </div> |
其中主要是js事件:newUser()
var url; function newUser(){ $('#dlg').dialog('open').dialog('setTitle','新增用户'); $('#fm').form('clear'); url = '/easyui/saveUser'; }; function saveUser(){ $('#fm').form('submit',{ url: url, onSubmit: function(){ return $(this).form('validate'); }, success: function(result){ var result = eval('('+result+')'); if (Msg){ $.messager.show({ title: 'Error', msg: Msg }); } else { $('#dlg').dialog('close'); // close the dialog $('#dg').datagrid('reload'); // reload the user data } } }); }; |
这样即可
c) 分页:效果同上上图
图3
页面此table页面简单代码:
其中pagiination=”true”设置有分页.实现分页的js代码为:
//此处采用url的方法获取数据,所以此方法可以删除 function getData(){ } function pagerFilter(data){ if (typeof data.length == 'number' && typeof data.splice == 'function'){ // is array data = { total: data.length, rows: data } } var dg = $(this); var opts = dg.datagrid('options'); var pager = dg.datagrid('getPager'); pager.pagination({ onSelectPage:function(pageNum, pageSize){ opts.pageNumber = pageNum; opts.pageSize = pageSize; pager.pagination('refresh',{ pageNumber:pageNum, pageSize:pageSize }); dg.datagrid('loadData',data); },onRefresh:function(pageNum, pageSize){ $('#dg').datagrid('reload'); } }); if (!iginalRows){ iginalRows = (ws); } var start = (opts.pageNumber-1)*parseInt(opts.pageSize); var end = start + parseInt(opts.pageSize); ws = (iginalRows.slice(start, end)); return data; } $(function(){ $('#dg').datagrid({loadFilter:pagerFilter}).datagrid('loadData', getData()); }); |
note:开始时,点击分页栏中的刷新按钮不管用,一看忘记了实现onRefresh方法.具体剩下的方法看文档:www.jeasyui/documentation/index.php
在线demo:www.jeasyui/demo/main/index.php
d) 后台处理easyui/getUsers的实现:
public void getUsers(){ List<User> users = User.dao.find("select * from user order by id desc"); renderJson(users); } |
我们前台需要的是Json格式数据,在这里用jfinal很容易实现.这样即可.
e)
f)
2. 初始化菜单导航栏:
开始时,采用直接在jsp页面中 添加代码的方式,但是为了以后配置的方便,改成了读取Json格式数据,动态创建菜单的方法:数据展示:
var _panels = {"panels":[ {"panelid":"12","icon":"icon-sys","panelname":"平台管理模块", "menus":[{"menuname":"企业用户管理","icon":"icon-tip","tabId":"guanwang1","url":"localhost/easyui/basicCrud"}, ]}; |
php实例代码教程 |
那么通过js读取出来,动态添加到导航菜单中,js:
//初始化菜单 function InitLeftMenu() { $(".easyui-accordion").empty(); //先列菜单 $.each(_panels.panels, function(i, n) { var menulist = ""; var template = new t("<ui><div><a url='{{=url}}' href='javascript:void(0)' iconCls='{{=icon}}' tabId='{{=tabId}}' class='easyui-linkbutton' data-options='plain:true'>{{=menuname}}</a></div></ui>"); menulist += '<ul>'; //继续下个元素 $.us, function(j, o) { menulist += '<div title="'+o.menuname+'">'; menulist += der(o); }); menulist += '</ul></div>'; $('#leftmenu').accordion('add',{ title:n.panelname, content:menulist }); }) $('.easyui-accordion ui a').click(function(){ var tabTitle = $(this).text(); var url = $(this).attr("url"); var tabId = $(this).attr("tabId"); addTab(tabId,tabTitle,url); $('.easyui-accordion ui div').removeClass("selected"); $(this).parent().addClass("selected"); }).hover(function(){ $(this).parent().addClass("hover"); },function(){ $(this).parent().removeClass("hover"); }); $(".easyui-accordion").accordion(); } |
里面有个addTab(tabId,title,url)的方法,他的作用是在主MainFrame中添加tab
//增加tab function addTab(tabId,title,url){ //如果当前id的tab不存在则创建一个tab if(!$('#tabs').tabs('exists',title)){ $('#tabs').tabs('add',{ title: title, closable:true, cache : false, //注:使用iframe即可防止同一个页面出现js和css冲突的问题 content : '<iframe name="mainFrame'+tabId+'" src="'+url+'" width="100%" height="100%" frameborder="0" scrolling="auto"></iframe>' }); progress(); }else{ //如果存在,那么切换到此tab $('#tabs').tabs('select',title); return ; } tabClose(); } |
然后就可以了.
还有些双击关闭等功能:参考实例代码.
3. 累死了,先回去睡觉去.
4. d
5. d
6. dd
7.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论