低版本的easyui 的grid = $("#datagrid").treegrid 如何实现多层级的树形 上移、下移的效果
时间: 2024-03-05 08:51:26 浏览: 102
easyUI datagrid 行上移,下移,置顶,置底的方法
如果你使用的是低版本的easyui,可以尝试以下方法实现多层级的树形上移、下移的效果:
1. 首先获取当前选中的行的id和parentId,以及上一行或下一行的id和parentId。
2. 然后通过ajax请求,将当前行的parentId更新为上一行或下一行的parentId,同时将上一行或下一行的parentId更新为当前行的parentId。
3. 最后重新加载treegrid,即可实现上移或下移的效果。
具体实现代码可以参考以下示例:
```javascript
function moveUp() {
var selected = $('#datagrid').treegrid('getSelected');
if (selected) {
var parentId = selected.parentId;
var index = $('#datagrid').treegrid('getRowIndex', selected.id);
if (index > 0) {
var rows = $('#datagrid').treegrid('getRows');
var preId = rows[index - 1].id;
var preParentId = rows[index - 1].parentId;
$.ajax({
type: 'post',
url: 'move',
data: {
id: selected.id,
parentId: preParentId
},
success: function() {
$('#datagrid').treegrid('reload');
}
});
$.ajax({
type: 'post',
url: 'move',
data: {
id: preId,
parentId: parentId
},
success: function() {
$('#datagrid').treegrid('reload');
}
});
}
}
}
function moveDown() {
var selected = $('#datagrid').treegrid('getSelected');
if (selected) {
var parentId = selected.parentId;
var index = $('#datagrid').treegrid('getRowIndex', selected.id);
var rows = $('#datagrid').treegrid('getRows');
if (index < rows.length - 1) {
var nextId = rows[index + 1].id;
var nextParentId = rows[index + 1].parentId;
$.ajax({
type: 'post',
url: 'move',
data: {
id: selected.id,
parentId: nextParentId
},
success: function() {
$('#datagrid').treegrid('reload');
}
});
$.ajax({
type: 'post',
url: 'move',
data: {
id: nextId,
parentId: parentId
},
success: function() {
$('#datagrid').treegrid('reload');
}
});
}
}
}
```
其中,'move'是更新parentId的后端接口,需要根据实际情况进行修改。
阅读全文