0

由于我们的表格列命名约定中的空格(例如:名称 1),我在绘制 KendoTreeView 时遇到错误。注意“search.columnName”是表列“名称 1”,由于空间,它破坏了树视图:

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

    var tree = $("#tvwResults").kendoTreeView({
        dataTextField: 'search.columnName',
    }).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);
    });
};

谢谢您的帮助。这对我来说现在是一个表演障碍。

4

1 回答 1

0

必须是有效的dataTextFieldJavaScript 标识符,并且不应包含任何空格。

最简单的解决方案是在将服务器响应提供给数据源之前对其进行处理:

var tree = $("#tvwResults").kendoTreeView({
    dataTextField: 'name1',
}).data("kendoTreeView"); 

$.getJSON("...", function (data) {
     // map "Name 1" to something which doesn't contain a space e.g. "name1"
     for (var i = 0; i < data.length; i++) {
        data[i]["name1"] = data[i]["Name 1"];
     }
     tree.dataSource.data(data);
});
于 2013-10-18T08:27:42.723 回答