easyui datagrid排序

這個示例展示如何排序datagrid通過點擊列表頭.


查看 Demo

在datagrid的所有columns 可以通過點擊列表頭排序,你可以定義哪行可以排序,默認的列是不能排序的除非你設置sortable 屬性爲true

創建an DataGrid

<table id="tt" class="easyui-datagrid" 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 將發送2個參數到遠程服務器:

  • 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);  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章