1

我一直在阅读有关 Treeview 以及 Hierarchical Data Source 和 Data Source 的现有文档,但对于可以与 Treeview 一起使用的可能的远程数据源类型,我有点迷失了。

除了json,xml也是支持的吧?是否可以绑定它并使用Treeview查看xml文件?

我一直在尝试类似的东西:

        <script>
            var ds = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url:"http://localhost:8080/OnTheSpotRestfullAPI/testTree.xml"
                        }
                    },
                    schema: {
                        type: "xml",
                        data: "/tree/vehicles",
                        model: {
                            fields: {
                                car: "car/text()",
                                bike: "bike/text()"
                            }
                        }
                    }
                });

            $("#treeview").kendoTreeView({
                dataSource: ds
            });
        </script>

testTree.xml 为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>    
<tree>  
    <vehicles>
        <car>FM-1100</car>
        <car>FM-4200</car>
        <bike>FM-3100</bike>
    </vehicles>
    <personnel>
        <client>GH-3000</client>
        <vip>GH-3100</vip>
    </personnel>
</tree>

我希望生成的树类似于:

(汽车)

- (汽车)

----FM-1100

----FM-4200

--(自行车)

----FM-3100

(人员)

--(客户)

----GH-3000

--(贵宾)

----GH-3100

PS。() 中的名称应该类似于包含其“孩子”的文件夹

但我似乎根本看不到这棵树。有点迷路了,有人可以指点我正确的方向吗?

提前致谢

4

1 回答 1

3

只是为了确保:您应该在加载 html 后执行脚本代码,因此您应该将其包含在

<script>
    $(document).ready(function () {
        // The JavaScript code goes here
    });
</script>

ds应该定义数据源HierarchicalDataSource而不是DataSource. 阅读您的 XML 示例,我不确定层次结构(树)是如何组织的,树的内容应该是什么。

您可以尝试以下方法:

<script>
    $(document).ready(function () {
        var ds = new kendo.data.HierarchicalDataSource({
            transport:{
                read:{
                    url:"testTree.xml"
                }
            },
            schema   :{
                type :"xml",
                data :"/tree/vehicles/car",
                model:{
                    fields:{
                        text:"text()"
                    }
                }
            }
        });


        $("#treeview").kendoTreeView({
            dataSource   :ds
        });
    });
</script>

和 XML 类似:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tree>
    <vehicles>
        <car>FM-1100</car>
        <car>FM-4200</car>
        <bike>FM-3100</bike>
    </vehicles>
    <personnel>
        <client>GH-3000</client>
        <vip>GH-3100</vip>
    </personnel>
</tree>

注意:不确定如何处理bike

于 2012-11-06T10:02:34.723 回答