Ztree 分批异步加载

2025-12-28 05:46:36

1、到ztree的官网下载ztree的js插件,包含js和css两个部分,然后,将js引入到项目中

Ztree 分批异步加载

2、新建页面,将js与css添加引用到页面

    @Common.HtmlHelper.Css("~/Scripts/viewer/viewer.css", "~/Scripts/ztree/css/demo.css", "~/Scripts/ztree/css/zTreeStyle/zTreeStyle.css")

    @Common.HtmlHelper.Script("~/Scripts/ztree/js/jquery.ztree.all.js")

注:Common.HtmlHelper为作者的帮助类,其作用为添加版本号

Ztree 分批异步加载

3、编写js,添加ztree异步加载的配置,如下

var setting = {

        async: {

            enable: true,

            url: getUrl,

            autoParam: ["id", "name"],

            dataFilter: filter

        },

        view: {

            showLine: false,

            addDiyDom: addDiyDom,

            addHoverDom: addHoverDom,

            showTitle: true

        },

        data: {

            simpleData: {

                enable: true

            }

        }

    };

Ztree 分批异步加载

4、添加自定义方法,为ztree加载数据:

unction BindTree()

    {

        com.ajax({

            url: "FirstAnsyData?System_Code=" + System_Code + "&Data_Code=" + Data_Code + "&tabReport=" + tabReport,

            type: "post",

            contentType: "application/json",

            data: {},

            dataType: "json",

            success: function (res)

            {

                if (res.ResultFlag == com.AjaxResultFlag.success)

                {

                    queryHandler(res.ResultObj);

                    var zTree = $.fn.zTree.getZTreeObj("dataTree");

                    var nodes = zTree.transformToArray(zTree.getNodes());

                    nodes.forEach(function (value, i)

                    {

                        if (value.isparent && value.pId != null) {

                            value.isParent = value.isparent;

                            zTree.reAsyncChildNodesPromise(value, "", false);

                        }

                    });

                }

                else

                {

                    com.msg(res.ResultObj);

                }

            },

            error: function (x, y, z)

            {

                com.msg("操作失败");

            },

            complete: function ()

            {

                parent.layer.closeAll(); //关闭遮罩层

            }

        });

    }

Ztree 分批异步加载

5、添加异步加载时需要请求的参数的处理方法

 function getUrl(id, node)

    {

        var parentcode = node.id;

        return "AnsyChildData?System_Code=" + System_Code + "&Data_Code=" + Data_Code + "&tabReport=" + tabReport + "&Quota_Code=" + parentcode;

    }

Ztree 分批异步加载

6、添加异步调用后返回数据的过滤处理

//异步过滤数据

    function filter(treeId, parentNode, childNodes)

    {

        return childNodes.ResultObj;

    }

Ztree 分批异步加载

7、添加初始化ztree的方法

//初始化树

        var zTreeObj = $.fn.zTree.init($("#dataTree"), setting, zTreeNodes);

8、运行页面,将会发现有下级节点的出现loading效果,这就说明已经在异步加载。

Ztree 分批异步加载

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢