easyui datagrid没有行的上移下移方法,这里扩展了datagrid行的上移和下移,并ajax向后台发送数据,后台保存行排序的序号。
$.extend($.fn.treegrid.methods, {
moveUp : function(jq, url)
{
return jq.each(function()
{
var node=$(this).treegrid('getSelected');
if (node){
var node_p=$(this).treegrid('getParent',node.id);
var curentIndex = node_p.children.indexOf(node);
if(curentIndex>=1){
var lastNode = node_p.children[curentIndex-1];
$(this).treegrid('remove',node.id);
$(this).treegrid('insert', {
before: lastNode.id,
data: node
});
if(url){
$.ajax({
url : url,
data :{
beforeId:lastNode.id,
afterId:node.id
},
dataType : 'json',
success : function(result) {
}
});
}
}else{
$.messager.alert('提示','无法上移!');
}
$(this).treegrid('select',node.id);
}
});
},
moveDown : function(jq, url)
{
return jq.each(function()
{
var node = $(this).treegrid('getSelected');
if (node){
var node_p = $(this).treegrid('getParent',node.id);
var curentIndex = node_p.children.indexOf(node);
if(curentIndex<node_p.children.length-1)
{
var nextNode = node_p.children[curentIndex+1];
$(this).treegrid('remove',node.id);
$(this).treegrid('insert', {
after: nextNode.id,
data: node
});
if(url){
$.ajax({
url : url,
data :{
beforeId:nextNode.id,
afterId:node.id
},
dataType : 'json',
success : function(result) {
}
});
}
}
else
{
$.messager.alert('提示','无法下移!');
}
$(this).treegrid('select',node.id);
}
});
}
});
代码调用和调用easyui方法一样:`
$('#t').treegrid('moveUp', "url");