jQuery EasyUI 数据网格 – 设置排序
本实例演示如何通过点击列表头来排序数据网格(DataGrid)。
数据网格(DataGrid)的所有列可以通过点击列表头来排序。您可以定义哪列可以排序。默认的,列是不能排序的,除非您设置 sortable 属性为 true。
创建数据网格(DataGrid)
<table style=\"width:600px;height:250px\" url=\"datagrid8_getdata.php\" title=\"Load Data\" iconCls=\"icon-save\" rownumbers=\"true\" pagination=\"true\"> <thead> <tr> <th field=\"itemid\" width=\"80\" sortable=\"true\">Item ID</th> <th field=\"productid\" width=\"80\" sortable=\"true\">Product ID</th> <th field=\"listprice\" width=\"80\" align=\"right\" sortable=\"true\">List Price</th> <th field=\"unitcost\" width=\"80\" align=\"right\" sortable=\"true\">Unit Cost</th> <th field=\"attr1\" width=\"150\">Attribute</th> <th field=\"status\" width=\"60\" align=\"center\">Stauts</th> </tr> </thead> </table>
我们定义一些可排序的列,包含 itemid、productid、listprice、unitcost 等等。\’attr1\’ 列和 \’status\’ 列不能排序。
当排序时,数据网格(DataGrid)将发送两个参数到远程服务器:
- sort:排序列字段名。
- order:排序方式,可以是 \’asc\’ 或者 \’desc\’,默认值是 \’asc\’。
服务器端代码
$page = isset($_POST[\'page\']) ? intval($_POST[\'page\']) : 1; $rows = isset($_POST[\'rows\']) ? intval($_POST[\'rows\']) : 10; $sort = isset($_POST[\'sort\']) ? strval($_POST[\'sort\']) : \'itemid\'; $order = isset($_POST[\'order\']) ? strval($_POST[\'order\']) : \'asc\'; $offset = ($page-1)*$rows; $result = array(); include \'conn.php\'; $rs = mysql_query(\"select count(*) from item\"); $row = mysql_fetch_row($rs); $result[\"total\"] = $row[0]; $rs = mysql_query(\"select * from item order by $sort $order limit $offset,$rows\"); $items = array(); while($row = mysql_fetch_object($rs)){ array_push($items, $row); } $result[\"rows\"] = $items; echo json_encode($result);
下载 jQuery EasyUI 实例
jeasyui-datagrid-datagrid8.zip
点我分享笔记