jeesite datagrid点击表头不走后端排序
时间: 2023-08-04 12:19:21 浏览: 107
table表头点击可实现排序
如果您不想在后端进行排序处理,可以通过前端实现表格点击表头排序的功能。具体实现方式如下:
1. 在 Datagrid 中添加 sortable 属性,表示该列可以排序。
2. 在 Datagrid 的 onSortColumn 事件中获取当前要排序的字段名和排序方式,并对数据进行排序处理。
例如,以下代码实现了在前端进行表格排序的功能:
```javascript
// 定义一个数组存放数据
var data = [
{id: 1, name: "张三", age: 22},
{id: 2, name: "李四", age: 25},
{id: 3, name: "王五", age: 20}
];
// 初始化 Datagrid
$('#dg').datagrid({
data: data,
singleSelect: true,
columns: [[
{field: 'id', title: 'ID', sortable: true},
{field: 'name', title: '姓名'},
{field: 'age', title: '年龄', sortable: true}
]],
onSortColumn: function(sort, order) {
// 获取当前要排序的字段名和排序方式
var field = sort;
var dir = order == 'asc' ? 1 : -1;
// 对数据进行排序处理
data.sort(function(a, b) {
return a[field] > b[field] ? dir : -dir;
});
// 重新加载数据
$('#dg').datagrid('loadData', data);
}
});
```
在上面的代码中,我们通过 onSortColumn 事件获取当前要排序的字段名和排序方式,然后对数据进行排序处理,最后重新加载数据即可。这样,用户在点击表头时,表格会自动按照当前列进行排序。
阅读全文