当数据文本字段预操作包含空格时出现 KendoTreeView 错误

KendoTreeView error when dataTextField preoperty contains spaces

本文关键字:KendoTreeView 错误 空格 文本 数据 字段 操作包      更新时间:2023-09-26

由于表列命名约定中的空格(例如:名称 1),我在 KendoTreeView 绘图中遇到错误。注意"search.columnName"是表列"Name 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);
    });
};

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

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