jEasyUI creates CRUD data grid
In the previous chapter, we created a CRUD application using the dialog component to create and edit user information. In this tutorial we will tell you how to create a CRUD data grid (DataGrid). We will use the editable data grid (DataGrid) plug-in to complete these CRUD operations.
Step 1: Define the data grid (DataGrid) in the HTML tag
<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:'validatebox',options:{required:true}}">First Name</th> <th field="lastname" width="50" editor="{type:'validatebox',options:{required:true}}">Last Name</th> <th field="phone" width="50" editor="text">Phone</th> <th field="email" width="50" editor="{type:'validatebox',options:{validType:'email'}}">Email</th> </tr> </thead> </table> <div id="toolbar"> <a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="javascript:$('#dg').edatagrid('addRow')">New</a> <a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="javascript:$('#dg').edatagrid('destroyRow')">Destroy</a> <a href="#" class="easyui-linkbutton" iconCls="icon-save" plain="true" onclick="javascript:$('#dg').edatagrid('saveRow')">Save</a> <a href="#" class="easyui-linkbutton" iconCls="icon-undo" plain="true" onclick="javascript:$('#dg').edatagrid('cancelRow')">Cancel</a> </div>
Step 2: Use the editable data grid (DataGrid)
$('#dg').edatagrid({ url: 'get_users.php', saveUrl: 'save_user.php', updateUrl: 'update_user.php', destroyUrl: 'destroy_user.php' });
We should provide 'url', 'saveUrl', 'updateUrl' and 'destroyUrl' properties to edit the DataGrid:
url: from server Retrieve user data on the client.
saveUrl: Save a new user data.
updateUrl: Update an existing user data.
destroyUrl: Delete an existing user data.
Step 3: Write server processing code
Save a new user (save_user.php):
$firstname = $_REQUEST['firstname']; $lastname = $_REQUEST['lastname']; $phone = $_REQUEST['phone']; $email = $_REQUEST['email']; include 'conn.php'; $sql = "insert into users(firstname,lastname,phone,email) values('$firstname','$lastname','$phone','$email')"; @mysql_query($sql); echo json_encode(array( 'id' => mysql_insert_id(), 'firstname' => $firstname, 'lastname' => $lastname, 'phone' => $phone, 'email' => $email ));
Update an existing user (update_user .php):
$id = intval($_REQUEST['id']); $firstname = $_REQUEST['firstname']; $lastname = $_REQUEST['lastname']; $phone = $_REQUEST['phone']; $email = $_REQUEST['email']; include 'conn.php'; $sql="update users set firstname='$firstname',lastname='$lastname',phone='$phone',email='$email' where id=$id"; @mysql_query($sql); echo json_encode(array( 'id' => $id, 'firstname' => $firstname, 'lastname' => $lastname, 'phone' => $phone, 'email' => $email ));
Delete an existing user (destroy_user.php):
$id = intval($_REQUEST['id']); include 'conn.php'; $sql = "delete from users where id=$id"; @mysql_query($sql); echo json_encode(array('success'=>true));
Download jQuery EasyUI instance
jeasyui-app-crud2.zip