Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何基于一个按钮点击来聚合并展开剑道UI树视图中的所有树节点?_Javascript_Jquery_Kendo Treeview - Fatal编程技术网

Javascript 我如何基于一个按钮点击来聚合并展开剑道UI树视图中的所有树节点?

Javascript 我如何基于一个按钮点击来聚合并展开剑道UI树视图中的所有树节点?,javascript,jquery,kendo-treeview,Javascript,Jquery,Kendo Treeview,这不起作用: <script type="text/javascript"> $('#btnCollapseAll').click(function() { $('#treeview').collapseAll(); }); </script> $('#btnCollapseAll')。单击(函数() { $(“#treeview”).collapseAll();

这不起作用:

<script type="text/javascript">
            $('#btnCollapseAll').click(function()
            {
                $('#treeview').collapseAll();
            });
</script>

$('#btnCollapseAll')。单击(函数()
{
$(“#treeview”).collapseAll();
});
您可以使用此代码

1:崩溃

2:扩展


$(文档).ready(函数(){
$(“#树视图”).kendoTreeView();
var treeview=$(“#treeview”).data(“kendoTreeView”);
$(“#expandAllNodes”)。单击(函数(){
treeview.expand(“.k-item”);
});
$(“#collapseAllNodes”)。单击(函数(){
treeview.collapse(“k项”);
});
});

只需设置一个属性“
扩展:false


上面的答案对我都不起作用,因为我的树有很多数据,并且被设置为
loadOnDemand:true
。我在下面介绍了我的解决方案,该解决方案在加载到树中时递归地扩展每个节点

我的使用案例是,我想在过滤树时展开所有节点,但在浏览完整树时将其折叠(因此需要保留设置
loadOnDead:true

这是:

        // Expands entire tree
        function expandTree() {
            console.log("Expanding All...");
            var tree = $("#treeview").data("kendoTreeView");
            var nodes = document.getElementsByClassName('k-item');
            for (var i = 0; i < nodes.length; i++) {
                expandNode(nodes[i]);
            }
        }

        // Expand nodes recursively
        function expandNode(htmlElement) {
            var tree = $("#treeview").data("kendoTreeView");
            var dataItem = tree.dataItem(htmlElement);
            dataItem.set("expanded", true);
            var children = dataItem.items;
            if (children) {
                for (var i = 0; i < dataItem.items.length; i++) {
                    expandNode(tree.findByUid(dataItem.items[i].uid))
                }
            }
        }
//展开整个树
函数expandTree(){
log(“展开所有…”);
var-tree=$(“#treeview”).data(“kendoTreeView”);
var nodes=document.getElementsByClassName('k-item');
对于(var i=0;i
我在他们的网站上读到了这篇文章,但我仍然无法让它发挥作用。“.k-item”是CSS类吗?如果我的剑道树视图在页面上的一个表格单元格中,该怎么办?加载时展开所有视图如何?如果您设置了一个dataUri来加载数据并在它完成之前调用这个expand()(我认为这就是原因),那么expand()调用什么都不做
 $("#treeview").kendoTreeView();
        var treeview = $("#treeview").data("kendoTreeView");
        treeview.collapse(document.getElementById("firstItem"));
        $('#btn').click(function () {
            // expand the node with id="firstItem"

            // expand all nodes
            treeview.expand(".k-item");
        });
        <script>
            $(document).ready(function() {
                $("#treeview").kendoTreeView();
                var treeview = $("#treeview").data("kendoTreeView");

                $("#expandAllNodes").click(function() {
                    treeview.expand(".k-item");
                });

                $("#collapseAllNodes").click(function() {
                    treeview.collapse(".k-item");
                });
            });
        </script>
    $("#TreeList").kendoTreeList({
    height: 400,
    filterable: false,
    sortable: true,
    columns: [
      { field: "Name", title: "  ", width: 235 },
      { field: "Outstanding", title: "Outstanding", width: 235, template: $("#outstanding-olor-div-template").html() }
    ],
    dataSource: {
        transport: {
            read: {
                url: ServiceUrl ,
                dataType: "json"
            }
        },
        schema: {
            model: {
                id: "Id",
                parentId: "ParentId",
                fields: {
                    ParentId: { field: "ParentId", nullable: true },
                    Id: { field: "Id", type: "number" },
                    Name: { field: "Name" }
                },
                expanded: false
            }
        }
    }
});
        // Expands entire tree
        function expandTree() {
            console.log("Expanding All...");
            var tree = $("#treeview").data("kendoTreeView");
            var nodes = document.getElementsByClassName('k-item');
            for (var i = 0; i < nodes.length; i++) {
                expandNode(nodes[i]);
            }
        }

        // Expand nodes recursively
        function expandNode(htmlElement) {
            var tree = $("#treeview").data("kendoTreeView");
            var dataItem = tree.dataItem(htmlElement);
            dataItem.set("expanded", true);
            var children = dataItem.items;
            if (children) {
                for (var i = 0; i < dataItem.items.length; i++) {
                    expandNode(tree.findByUid(dataItem.items[i].uid))
                }
            }
        }