jeesite datagrid点击表头当前页面排序
时间: 2023-10-09 19:11:13 浏览: 54
您可以在 JeeSite 的 Datagrid 中添加 sortName 和 sortOrder 属性来实现表格点击表头进行排序的功能。其中,sortName 属性表示要排序的字段名,sortOrder 属性表示排序的方式(升序或降序)。
例如,如果您要按照 id 字段进行升序排序,可以在 Datagrid 中添加以下属性:
```
<th data-options="field:'id', sortable:true, sortName:'id', sortOrder:'asc'">ID</th>
```
这样,当用户点击 ID 表头时,Datagrid 会自动按照 id 字段进行升序排序。
需要注意的是,如果您的 Datagrid 数据是通过 Ajax 加载的,还需要在后端根据 sortName 和 sortOrder 进行相应的排序处理。
相关问题
jeesite datagrid双击表头当前页面排序
JeeSite的DataGrid控件默认是在后台进行排序的,如果需要在前台实现双击表头当前页面排序,可以在DataGrid的onHeaderContextMenu事件中添加双击表头事件的处理函数。
下面是一个示例代码:
```javascript
$('#datagrid').datagrid({
url: '...',
// 在onHeaderContextMenu事件中添加双击表头事件处理函数
onHeaderContextMenu: function(e, field) {
e.preventDefault();
if (e.originalEvent.detail == 2) { // 判断是否双击事件
// 获取DataGrid对象
var grid = $(this);
// 获取当前排序的字段和排序方式
var sortField = grid.datagrid('options').sortName;
var sortOrder = grid.datagrid('options').sortOrder;
// 切换排序方式并重新加载数据
if (sortOrder == 'asc') {
grid.datagrid('sort', {
sortName: field,
sortOrder: 'desc'
});
} else {
grid.datagrid('sort', {
sortName: field,
sortOrder: 'asc'
});
}
}
}
});
```
在上面的代码中,我们在DataGrid的onHeaderContextMenu事件中添加了双击表头事件处理函数。在该处理函数中,我们首先判断当前事件是否为双击事件,然后获取当前排序的字段和排序方式。最后根据当前排序方式切换排序方式并重新加载数据。
jeesite datagrid点击表头不走后端排序
如果您不想在后端进行排序处理,可以通过前端实现表格点击表头排序的功能。具体实现方式如下:
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 事件获取当前要排序的字段名和排序方式,然后对数据进行排序处理,最后重新加载数据即可。这样,用户在点击表头时,表格会自动按照当前列进行排序。