EasyUI TreeGrid各行调整上下位置

因为业务需求,需要对treegrid里面的每行数据进行上下位置调整,在网上搜了一下方法,都有一些问题,自己做了些改变,能够满足需求。贴出来希望对大家有所帮助:
function move(isUp) {

	//得到选中的那一行
    var selectNode = $("#PlanTemplateDataGrid").treegrid("getSelected");
    if(selectNode == null){
    	$.messager.alert('操作提示','请选择数据!','warning');
            return;
 	}
    //动态获取datagrid-row的ID
    var rowL = $('#PlanTemplateWrap .datagrid-row').attr('id').split('-');
    rowL.splice(rowL.length-1,1);
    var newRowL =  rowL.join('-');
    var selectRow=$('#'+newRowL+'-'+selectNode.id);
    if(isUp=="up"){
    	var pre = selectRow.prev();//获得上一节点
		if(pre.length==0) {
			alert("无法移动!");
			return;
		}
		var preClass=pre.attr("class");
		while(preClass=='treegrid-tr-tree'){
			pre=pre.prev();
			preClass=pre.attr("class");
		}
		var preId=pre.attr("node-id");
		var selectNode2=$("#PlanTemplateDataGrid").treegrid("pop",selectNode.id);
		$("#PlanTemplateDataGrid").treegrid("insert",{before:preId,data:selectNode2});
		$("#PlanTemplateDataGrid").treegrid("select",selectNode.id);
    }else{
    	var next = selectRow.next();//获得下一节点
		if(next.length==0) {
			alert("无法移动!");
			return false;
		}
		var nextClass=next.attr("class");
		while(nextClass=='treegrid-tr-tree'){
			next=next.next();
			if(next.length === 0){
				alert('无法移动');
				return false;
			}
			nextClass=next.attr("class");
		}
		var nextId=next.attr("node-id");
		var selectNode2=$("#PlanTemplateDataGrid").treegrid("pop",selectNode.id);
		$("#PlanTemplateDataGrid").treegrid("insert",{after:nextId,data:selectNode2});
		$("#PlanTemplateDataGrid").treegrid("select",selectNode.id);
    }

}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值