孩子没有出现在KendoTreeView Web上

时间:2013-10-18 09:47:29

标签: javascript json kendo-ui kendo-grid kendo-treeview

//treeview source
function populateTreeView(search) {
    debugger;

    var tree = $("#tvwResults").kendoTreeView({
        dataTextField: [{
            text: search.columnName,
            items: [{
                text: "activemeters"
            }]
        }],
        select: function (e) {
            console.log("Selecting ", e.node)
        },
        animation: {
            expand: {
                effects: "fadeIn expandVertical",
                duration: 600
            }
        }

    }).data("kendoTreeView");
    $.getJSON("http://127.0.0.2:6080/arcgis/rest/services/WW/WW2/MapServer/exts/RestSOE/Search%20Query?columnName=" + search.columnName + "&operand=" + search.operand + "&searchVal=" + search.searchVal + "&f=", function (data) {
        tree.dataSource.data(data);
    });
};

我真的在这里遗漏了一些东西。我可以在根节点中看到结果,显示两条记录,但是,“activemeters”子节点没有显示。我磕磕绊绊,感谢你的帮助。希望使用KendoUI将这些结果推送到枢轴网格,但控制是不存在的。我只需要两列,首先列出表列名,第二列显示详细信息。非常感谢你的帮助,在这里学到了很多。

1 个答案:

答案 0 :(得分:0)

您展示的JSON不足以告诉您的层次结构如何工作,因为这只是1级别的1个节点,但您定义的dataTextField不正确。当它被指定为数组时,它应该是一个字符串数组,它告诉树视图在每个深度级别使用哪个字段作为节点的显示名称。

我想你想要这样的东西:

var tree = $("#tvwResults").kendoTreeView({
    dataTextField: ["Account Num", "activemeters"],
    select: function (e) {
        console.log("Selecting ", e.node)
    },
    animation: {
        expand: {
            effects: "fadeIn expandVertical",
            duration: 600
        }
    }
}).data("kendoTreeView");                                        

tree.dataSource.data([
    {
        "Account Num": "210663845",
        "Address": "9 COUNTRY RD",
        "City": "HAMDENEE",
        "Name_1": "ANDREW SMITH",
        "Name_2": "",
        "Street": "GREEN ST",
        "Street Num": "25",
        "items": [
            {"activemeters": "T30619-00T|30078309"}
        ]
    }
]);