当dataTextField preoperty包含空格时,KendoTreeView错误

时间:2013-10-18 06:27:47

标签: javascript kendo-ui kendo-treeview

由于我们的表列命名约定中的空格(例如:名称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);
    });
};

感谢您的帮助。这对我来说是一个阻碍。

1 个答案:

答案 0 :(得分:0)

dataTextField必须是有效的JavaScript标识符,不应包含任何空格。

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

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);
});