`
endual
  • 浏览: 3558508 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

easy ui window使用

 
阅读更多

利用easyui编写一个用户管理小例子,目的是演示CRUD操作。先看一下效果图:


1、表格的定义:

Html代码   收藏代码
  1. <table id="user-table">  
  2.     <thead>  
  3.         <tr>  
  4.             <th field="name" width="100">名称</th>  
  5.             <th field="phone" width="100">电话</th>  
  6.             <th field="addr" width="100">地址</th>  
  7.             <th field="duty" width="100">职务</th>  
  8.         </tr>  
  9.     </thead>  
  10. </table>  

利用表格的THEAD来定义列,field属性对应用户数据模型的字段名称。

接着用jQuery创建表格,同时创建一个操作工具栏:

Js代码   收藏代码
  1. grid = $('#user-table').datagrid({  
  2.     url:'/demo1/user/getUsers',  
  3.     title:'用户资料',  
  4.     width:600,  
  5.     height:300,  
  6.     singleSelect:true,  
  7.     toolbar:[{  
  8.         text:'新增',  
  9.         iconCls:'icon-add',  
  10.         handler:newUser  
  11.     },'-',{  
  12.         text:'修改',  
  13.         iconCls:'icon-edit',  
  14.         handler:editUser  
  15.     },'-',{  
  16.         text:'删除',  
  17.         iconCls:'icon-remove'  
  18.     }]  
  19. });  
 

2、定义用户信息窗口和表单

Html代码   收藏代码
  1. <div id="user-window" title="用户窗口" style="width:400px;height:250px;">  
  2.     <div style="padding:20px 20px 40px 80px;">  
  3.         <form method="post">  
  4.             <table>  
  5.                 <tr>  
  6.                     <td>名称:</td>  
  7.                     <td><input name="name"></input></td>  
  8.                 </tr>  
  9.                 <tr>  
  10.                     <td>电话:</td>  
  11.                     <td><input name="phone"></input></td>  
  12.                 </tr>  
  13.                 <tr>  
  14.                     <td>地址:</td>  
  15.                     <td><input name="addr"></input></td>  
  16.                 </tr>  
  17.                 <tr>  
  18.                     <td>职务:</td>  
  19.                     <td><input name="duty"></input></td>  
  20.                 </tr>  
  21.             </table>  
  22.         </form>  
  23.     </div>  
  24.     <div style="text-align:center;padding:5px;">  
  25.         <a href="javascript:void(0)" onclick="saveUser()" id="btn-save" icon="icon-save">保存</a>  
  26.         <a href="javascript:void(0)" onclick="closeWindow()" id="btn-cancel" icon="icon-cancel">取消</a>  
  27.     </div>  
  28. </div>  

可以看到,窗口是一个DIV,表单是一个FORM,这种创建方式具有极大的灵活性,不需要学习成本,创建的jQuery代码如下:

Js代码   收藏代码
  1. $('#btn-save,#btn-cancel').linkbutton();  
  2. win = $('#user-window').window({  
  3.     closed:true  
  4. });  
  5. form = win.find('form');  

其中建立了窗口的操作按钮,并获取表单对象。

 

3、进行CRUD操作的客户端代码:

Js代码   收藏代码
  1. function newUser(){  
  2.     win.window('open');  
  3.     form.form('clear');  
  4.     form.url = '/demo1/user/save';  
  5. }  
  6. function editUser(){  
  7.     var row = grid.datagrid('getSelected');  
  8.     if (row){  
  9.         win.window('open');  
  10.         form.form('load''/demo1/user/getUser/'+row.id);  
  11.         form.url = '/demo1/user/update/'+row.id;  
  12.     } else {  
  13.         $.messager.show({  
  14.             title:'警告',   
  15.             msg:'请先选择用户资料。'  
  16.         });  
  17.     }  
  18. }  
  19. function saveUser(){  
  20.     form.form('submit', {  
  21.         url:form.url,  
  22.         success:function(data){  
  23.             eval('data='+data);  
  24.             if (data.success){  
  25.                 grid.datagrid('reload');  
  26.                 win.window('close');  
  27.             } else {  
  28.                 $.messager.alert('错误',data.msg,'error');  
  29.             }  
  30.         }  
  31.     });  
  32. }  
  33. function closeWindow(){  
  34.     win.window('close');  
  35. }  
 

 

例子中使用etmvc框架来处理后台的数据,演示例子中不使用数据库。

定义用户数据模型:

Java代码   收藏代码
  1. public class User {  
  2.     public Integer id;  
  3.     public String name;  
  4.     public String phone;  
  5.     public String addr;  
  6.     public String duty;  
  7.       
  8.     public User clone(){  
  9.         User u = new User();  
  10.         u.id = id;  
  11.         u.name = name;  
  12.         u.phone = phone;  
  13.         u.addr = addr;  
  14.         u.duty = duty;  
  15.         return u;  
  16.     }  
  17. }  

定义后台用户的CRUD操作:

Java代码   收藏代码
  1. public class UserController extends ApplicationController{  
  2.     /** 
  3.      * 返回全部用户资料 
  4.      */  
  5.     public View getUsers() throws Exception{  
  6.         Map<String,Object> result = new HashMap<String,Object>();  
  7.         result.put("total", users.size());  
  8.         result.put("rows", users);  
  9.           
  10.         return new JsonView(result);  
  11.     }  
  12.       
  13.     /** 
  14.      * 取得指定的用户资料 
  15.      */  
  16.     public View getUser(Integer id) throws Exception{  
  17.         User user = users.get(id-1);  
  18.         return new JsonView(user);  
  19.     }  
  20.       
  21.     /** 
  22.      * 保存用户资料,这里对用户名称进行非空检验,仅供演示用 
  23.      */  
  24.     public View save(User user) throws Exception{  
  25.         Map<String,Object> result = new HashMap<String,Object>();  
  26.         if (user.name.length() == 0){  
  27.             result.put("failure"true);  
  28.             result.put("msg""用户名称必须填写。");  
  29.         } else {  
  30.             result.put("success"true);  
  31.             user.id = users.size()+1;  
  32.             users.add(user);  
  33.         }  
  34.         View view = new JsonView(result);  
  35.         view.setContentType("text/html;charset=utf-8");  
  36.         return view;  
  37.     }  
  38.       
  39.     /** 
  40.      * 更新指定的用户资料 
  41.      */  
  42.     public View update(Integer id) throws Exception{  
  43.         Map<String,Object> result = new HashMap<String,Object>();  
  44.         User user = users.get(id-1).clone();  
  45.         updateModel(user);  
  46.         if (user.name.length() == 0){  
  47.             result.put("failure"true);  
  48.             result.put("msg""用户名称必须填写。");  
  49.         } else {  
  50.             result.put("success"true);  
  51.             user.id = id;  
  52.             users.set(id-1, user);  
  53.         }  
  54.         View view = new JsonView(result);  
  55.         view.setContentType("text/html;charset=utf-8");  
  56.         return view;  
  57.     }  
  58.       
  59.     // 用户资料测试数据  
  60.     private static List<User> users = new ArrayList<User>();  
  61.     static{  
  62.         for(int i=1; i<10; i++){  
  63.             User user = new User();  
  64.             user.id = i;  
  65.             user.name = "name" + i;  
  66.             user.phone = "phone" + i;  
  67.             user.addr = "addr" + i;  
  68.             user.duty = "duty" + i;  
  69.               
  70.             users.add(user);  
  71.         }  
  72.     }  
  73. }  

 

 

分享到:
评论

相关推荐

    Jquery easy ui 中文帮助手册

    **jQuery Easy UI 中文帮助手册** 是一份详细指导开发者如何使用 jQuery Easy UI 框架的文档,旨在帮助用户更好地理解和应用这个强大的前端开发工具。jQuery Easy UI 是基于 jQuery 的一个轻量级、易于使用的组件库...

    Easy UI前端框架

    Easy UI的组件包括但不限于:DataGrid(数据网格)、Form(表单)、Window(窗口)、Panel(面板)、Menu(菜单)、Tabs(标签页)、Dialog(对话框)、Tree(树形结构)、Accordion(手风琴)等。每个组件都有其...

    easy UI中文版文档

    7. **布局(Layout)**:Easy UI 提供了多种布局模式,如网格(grid)、面板(panel)、窗口(window)等,帮助开发者构建复杂的页面结构。 8. **主题和样式**:Easy UI 提供了一些预定义的主题,可以改变控件的...

    jquery api 、 jquery easy ui

    1. **布局组件**: 如`panel`(面板)、`splitter`(分割器)和`window`(窗口),用于构建灵活的页面布局。 2. **表单组件**: 包括`form`(表单)、`textbox`(文本框)、`combobox`(下拉框)、`datetimebox`...

    Easy UI中英文

    EasyUI包含了一系列常见的前端组件,如表格(datagrid)、面板(panel)、窗口(window)、菜单(menu)、下拉框(combobox)、按钮(button)等。这些组件设计简洁,易于使用,并且支持丰富的定制选项,可以满足...

    jquery_Easy_UI大部分功能属性 PDF 文档 API

    ### jQuery Easy UI 功能属性详解 #### CSS 类定义与功能属性 jQuery Easy UI 是一个基于 jQuery 的用户界面库,提供了一系列丰富的用户界面组件,旨在简化网页应用的开发过程。其功能属性主要分为 CSS 片段和 JS ...

    jquery_easy_ui

    2. **组件化设计**:EasyUI 的核心思想是组件化,每个UI元素如窗口(Window)、面板(Panel)、下拉菜单(ComboBox)等都是一个独立的组件,这些组件可以组合使用,构建复杂的界面结构。 3. **CSS 样式**:EasyUI ...

    jquery-easyui-api-chm-document.rar_easy ui_easyui document_jquer

    接下来,我们关注一下"window"组件,这是一个可移动和可调整大小的弹出窗口。在API文档中,你可以学习如何创建窗口,控制其可见性,以及如何添加和操作窗口内的内容。同时,窗口组件还可以与其他组件结合使用,如在...

    jquery easy_ui API

    1. **Window 窗口组件**: - `modal`:控制窗口是否为模态窗口,模态窗口会在其上层遮罩,阻止用户与背景交互。 - `shadow`:决定窗口是否显示阴影效果,增加视觉层次感。 2. **Panel 面板组件**: - `title`:...

    jquery_easy_ui学习资料

    jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了一系列的UI组件,使得开发者可以快速构建出美观且功能丰富的Web应用。EasyUI 的核心理念是通过简单的HTML标记和JavaScript API,实现复杂的界面效果和...

    EasyUI框架

    - **Window**:对话框组件,用于弹出独立的窗口进行交互,支持拖动、最大化、最小化等操作。 - **Form**:表单组件,用于收集和验证用户输入的数据,可与后台数据进行交互。 - **Tree**:树形组件,用于展示层级...

    easyui导出excel工具

    在IT行业中,EasyUI是一个基于jQuery的前端框架,它提供了丰富的UI组件,使得开发者能够快速构建用户界面。在处理数据展示时,datagrid是EasyUI的一个重要组件,它用于展示表格形式的数据。当需要将这些数据显示在...

    easyWindowUI

    例如,开发者可以使用`&lt;ewin-window&gt;`标签来创建一个可操作的窗口,用`&lt;ewin-menu&gt;`来定义菜单栏,`&lt;ewin-button&gt;`创建按钮,等等。这些自定义标签使得网页布局和功能的设计更加直观,同时也保持了代码的可读性和可...

    easyui 1.4 离线 帮助 手册 文档

    10. **窗口(Window)**:浮动的独立窗口,可用于展示内容或执行交互操作。 11. **滑块(Slider)**:数值选择器,常用于设置值的范围。 12. **日期选择器(DateBox)**:提供日期和时间的选择,支持多种格式和...

    jquery-easyui-1.5.5

    9. 弹出层(window):浮动的窗口,可用于展示独立的内容区域。 10. 滚动条(slider):创建滑块控件,常用于选择数值或调整设置。 EasyUI 1.5.5 版本可能包含以下特性与改进: - 优化了性能,减少了不必要的DOM...

    easy browser

    1. **自定义窗口样式**:在WPF中,可以通过修改`Window`类的模板来改变窗口的外观和行为。这可能包括调整边框、标题栏、关闭按钮等元素的样式,以实现独特的视觉效果。开发者可能还使用了透明度、动画或其他视觉效果...

    jQuery EasyUI API 中文文档 - Dialog对话框

    jQuery EasyUI是一个基于jQuery的前端UI框架,它提供了丰富而易于使用的组件,以帮助开发人员快速构建现代化的Web界面。在jQuery EasyUI框架中,Dialog组件是一个重要的部分,它用于创建模态对话框,以提高用户交互...

    easyUI 事件列表

    找了个时间看了下EasyUI插件,对它的插件感觉是很舒服,特地把Easy UI的大部分功能属性做了一下汇总。使用easyUI的朋友可以收藏下。 此属性列表请对照jQuery EasyUI 1.0.5,关于它的更多资讯请猛击这里。 属性分为...

    Python库 | seleniumbase-1.24.1-py3.7.egg

    1. **安装**:通过Python的`setup.py`或pip进行安装,对于egg包,可以使用`easy_install`命令,例如`easy_install seleniumbase-1.24.1-py3.7.egg`。 2. **配置**:配置seleniumbase的设置,如浏览器类型(Chrome, ...

Global site tag (gtag.js) - Google Analytics