dtree增加排序功能

今日哥们发个需求,给树形排序,拿来相关代码,用的是dtree.js(dTree 2.05),简单看了下相关文档,确实不能排序,那就动手干吧,增加Order方法,代码如下:


dTree.prototype.Order=function(orderKey){

var tmpnodes=this.aNodes.slice();

this.aNodes.splice(0,this.aNodes.length);

var sortarr;

try

{

    sortarr=tmpnodes.sort(function(a,b){

        return a[orderKey].localeCompare(b[orderKey]);

    });

}

catch(err)

{

    //如果排序时报错,则取消排序,按默认顺序输出

    sortarr=tmpnodes;

}

finally

{

    for(j=0;j

        {

            this.aNodes[this.aNodes.length] =sortarr[j];

        }

    }

};


调用方法:

d.Order('name'); //参数为排序项名称[Node 中string类型的字段包括:name, url, title, shortname, showdept等]



实例:


你可能感兴趣的:(dtree增加排序功能)