jEasyUI 创建 CRUD 数据网格
jEasyUI 创建 CRUD 数据网格
介绍
jEasyUI 是一个基于 jQuery 的框架,它为开发者提供了一套完整的用户界面组件,用于快速构建交互式的网页。在本文中,我们将探讨如何使用 jEasyUI 创建一个 CRUD(创建、读取、更新、删除)数据网格。CRUD 操作是数据库应用程序中最基本的操作,而数据网格则是展示和管理数据的有效方式。
准备工作
在开始之前,请确保您的项目中已经包含了以下文件:
- jQuery 库:jEasyUI 依赖于 jQuery,因此您需要先引入 jQuery。
- jEasyUI:下载并引入 jEasyUI 的相关文件,包括 CSS 和 JavaScript 文件。
您可以从 jEasyUI 的官方网站下载这些文件。
创建数据网格
1. HTML 结构
首先,我们需要创建一个 HTML 表格,用于展示数据网格。
<table id="dg" title="My Users" class="easyui-datagrid" style="width:700px;height:250px"url="get_users.php"toolbar="#toolbar"rownumbers="true" fitColumns="true" singleSelect="true"><thead><tr><th field="firstname" width="50">First Name</th><th field="lastname" width="50">Last Name</th><th field="phone" width="50">Phone</th><th field="email" width="50">Email</th></tr></thead>
</table>
2. 数据源
在上面的代码中,我们使用 url
属性指定了数据源。这个 URL 应该返回一个 JSON 格式的数据,如下所示:
{"total": 200,"rows": [{"firstname": "张三", "lastname": "李四", "phone": "123456", "email": "zhangsan@example.com"},{"firstname": "王五", "lastname": "赵六", "phone": "654321", "email": "wangwu@example.com"}]
}
3. 工具栏
我们可以为数据网格添加一个工具栏,用于执行 CRUD 操作。
<div id="toolbar"><a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-add" plain="true" οnclick="newUser()">New User</a><a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" οnclick="editUser()">Edit User</a><a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-remove" plain="true" οnclick="destroyUser()">Remove User</a>
</div>
4. JavaScript 代码
现在,我们需要编写一些 JavaScript 代码来处理 CRUD 操作。
function newUser() {$('#dlg').dialog('open').dialog('setTitle', 'New User');$('#fm').form('clear');url = 'save_user.php';
}function editUser() {var row = $('#dg').datagrid('getSelected');if (row) {$('#dlg').dialog('open').dialog('setTitle', 'Edit User');$('#fm').form('load', row);url = 'update_user.php?id=' + row.id;}
}function saveUser() {$('#fm').form('submit', {url: url,onSubmit: function () {return $(this).form('validate');},success: function (result) {var result = eval('(' + result + ')');if (result.errorMsg) {$.messager.show({title: 'Error',msg: result.errorMsg});} else {$('#dlg').dialog('close'); // close the dialog$('#dg').datagrid('reload'); // reload the user data}}});
}function destroyUser() {var row = $('#dg').datagrid('getSelected');if (row) {$.messager.confirm('Confirm', 'Are you sure you want to destroy this user?', function (r) {if (r) {$.post('destroy_user.php', {id: row.id}, function (result) {if (result.success) {$('#dg').datagrid('reload'); // reload the user data} else {$.messager.show({ // show error messagetitle: 'Error',msg: result.errorMsg});}}, 'json');}});}
}
在上面的代码中,我们定义了四个函数:newUser
、editUser
、saveUser
和 destroyUser
,分别用于