jQuery EasyUI 应用 - 创建 CRUD 数据网格(DataGrid)
在上一章节中,我们使用对话框(dialog)组件创建了 CRUD 应用来创建和编辑用户信息。本教程我们将告诉您如何创建一个 CRUD 数据网格(DataGrid)。 我们将使用 可编辑的数据网格(DataGrid)插件 来完成这些 CRUD 操作动作。

步骤 1:在 HTML 标签中定义数据网格(DataGrid)
<table id="dg" title="My Users" style="width:550px;height:250px" toolbar="#toolbar" idField="id" rownumbers="true" fitColumns="true" singleSelect="true"> <thead> <tr> <th field="firstname" width="50" editor="{type:&qpos;validatebox&qpos;,options:{required:true}}">First Name</th> <th field="lastname" width="50" editor="{type:&qpos;validatebox&qpos;,options:{required:true}}">Last Name</th> <th field="phone" width="50" editor="text">Phone</th> <th field="email" width="50" editor="{type:&qpos;validatebox&qpos;,options:{validType:&qpos;email&qpos;}}">Email</th> </tr> </thead> </table> <div id="toolbar"> <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="javascript:$(&qpos;#dg&qpos;).edatagrid(&qpos;addRow&qpos;)">New</a> <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="javascript:$(&qpos;#dg&qpos;).edatagrid(&qpos;destroyRow&qpos;)">Destroy</a> <a href="#" class="easyui-linkbutton" iconCls="icon-save" plain="true" onclick="javascript:$(&qpos;#dg&qpos;).edatagrid(&qpos;saveRow&qpos;)">Save</a> <a href="#" class="easyui-linkbutton" iconCls="icon-undo" plain="true" onclick="javascript:$(&qpos;#dg&qpos;).edatagrid(&qpos;cancelRow&qpos;)">Cancel</a> </div>
步骤 2:使用可编辑的数据网格(DataGrid)
$(&qpos;#dg&qpos;).edatagrid({ url: &qpos;get_users.php&qpos;, saveUrl: &qpos;save_user.php&qpos;, updateUrl: &qpos;update_user.php&qpos;, destroyUrl: &qpos;destroy_user.php&qpos; });
我们应该提供 &qpos;url&qpos;、&qpos;saveUrl&qpos;、&qpos;updateUrl&qpos; 和 &qpos;destroyUrl&qpos; 属性来编辑数据网格(DataGrid):
- url:从服务器端检索用户数据。
- saveUrl:保存一个新的用户数据。
- updateUrl:更新一个已存在的用户数据。
- destroyUrl:删除一个已存在的用户数据。
步骤 3:写服务器处理代码
保存一个新的用户(save_user.php):
$firstname = $_REQUEST[&qpos;firstname&qpos;]; $lastname = $_REQUEST[&qpos;lastname&qpos;]; $phone = $_REQUEST[&qpos;phone&qpos;]; $email = $_REQUEST[&qpos;email&qpos;]; include &qpos;conn.php&qpos;; $sql = "insert into users(firstname,lastname,phone,email) values(&qpos;$firstname&qpos;,&qpos;$lastname&qpos;,&qpos;$phone&qpos;,&qpos;$email&qpos;)"; @mysql_query($sql); echo json_encode(array( &qpos;id&qpos; => mysql_insert_id(), &qpos;firstname&qpos; => $firstname, &qpos;lastname&qpos; => $lastname, &qpos;phone&qpos; => $phone, &qpos;email&qpos; => $email ));
更新一个已存在用户(update_user.php):
$id = intval($_REQUEST[&qpos;id&qpos;]); $firstname = $_REQUEST[&qpos;firstname&qpos;]; $lastname = $_REQUEST[&qpos;lastname&qpos;]; $phone = $_REQUEST[&qpos;phone&qpos;]; $email = $_REQUEST[&qpos;email&qpos;]; include &qpos;conn.php&qpos;; $sql="update users set firstname=&qpos;$firstname&qpos;,lastname=&qpos;$lastname&qpos;,phone=&qpos;$phone&qpos;,email=&qpos;$email&qpos; where id=$id"; @mysql_query($sql); echo json_encode(array( &qpos;id&qpos; => $id, &qpos;firstname&qpos; => $firstname, &qpos;lastname&qpos; => $lastname, &qpos;phone&qpos; => $phone, &qpos;email&qpos; => $email ));
删除一个已存在用户(destroy_user.php):
$id = intval($_REQUEST[&qpos;id&qpos;]); include &qpos;conn.php&qpos;; $sql = "delete from users where id=$id"; @mysql_query($sql); echo json_encode(array(&qpos;success&qpos;=>true));