easyui table 字段排序怎么设置排序依据
时间: 2023-07-01 15:05:44 浏览: 126
juqery easyui datagrid的排序
在 easyui table 中,可以通过设置 `sortName` 属性来指定排序依据的字段名。具体操作如下:
1. 在 table 的初始化代码中,添加 `sortName` 属性,例如:
```javascript
$('#table').datagrid({
url: 'data.json',
columns: [[
{field: 'id', title: 'ID', sortable: true},
{field: 'name', title: 'Name', sortable: true},
{field: 'age', title: 'Age', sortable: true}
]],
sortName: 'id', // 指定按照 id 字段排序
sortOrder: 'asc' // 指定升序排序
});
```
2. 在表头上点击排序图标时,easyui table 会发送一次请求到服务器,请求参数中包含了 `sort` 和 `order` 参数。可以在后台程序中解析这两个参数,然后根据指定的排序依据进行数据排序。
例如,在 PHP 中可以使用 `usort` 函数进行数据排序,示例代码如下:
```php
$data = [
['id' => 3, 'name' => 'Tom', 'age' => 25],
['id' => 1, 'name' => 'Jack', 'age' => 30],
['id' => 2, 'name' => 'Mary', 'age' => 28]
];
$sort = $_REQUEST['sort'] ?: 'id';
$order = $_REQUEST['order'] ?: 'asc';
function cmp($a, $b) {
global $sort, $order;
$result = strcmp($a[$sort], $b[$sort]);
return $order === 'asc' ? $result : -$result;
}
usort($data, 'cmp');
echo json_encode($data);
```
在这个例子中,我们通过 `$_REQUEST` 获取了前端传递的 `sort` 和 `order` 参数,然后使用 `usort` 函数按照指定的排序依据进行数据排序。最后将排序后的数据转换为 JSON 格式输出即可。
阅读全文