Древовидный список кендо с индивидуальным транспортом

Мне нужно создать древовидный список, который получает метаданные из другой конечной точки каждый раз, когда выполняется запрос на чтение, но, очевидно, просто получить работу на корневом уровне оказывается проблемой.

Кто-нибудь может увидеть, что я сделал не так здесь...

function build(meta) {
    var grid = $('[name=treelist]');

// ifthere's a previous grid, rip it out
var oldGrid = grid.data("kendoTreeList");
if (oldGrid) {
    oldGrid.destroy();
    grid.empty();
}

var rootData = meta.Properties.map(function (i) {
    return {
        Id: i.Name,
        ParentId: null,
        ServerType: i.ServerType,
        ParentType: { Id: null, Name: meta.Name, Type: meta.ServerType, Meta: meta },
        Name: i.Name,
        Type: i.Type,
        Expression: "",
        CanExpand: i.Type === "object" || i.Type === "array",
        Meta: i
    };
});

// build config for the new grid
var config = {
    dataSource: new kendo.data.TreeListDataSource({
        transport: {
            read: function(o) {
                o.success(rootData);
            }
        },
        data: rootData,
        schema: {
            model: {
                id: "Id",
                parentId: "ParentId",
                hasChildren: "CanExpand",
                fields: {
                    Name:       { field: "Name", type: "string" },
                    Type:       { field: "Type", type: "string" },
                    Expression: { field: "Expression", type: "string" }
                }
            }
        }
    }),
    columns: [
        {
            title: "",
            width: 70,
            template: "<input name='Selected' type='checkbox' data-bind='checked: Selected' #= data.Selected ? checked='checked' : '' #/>"
        },
        { field: 'Id', title: 'Path' },
        { field: 'Name', title: 'Name' },
        { field: 'Type', title: 'Type' },
        { title: "Expression", template: "<input name='expression' type='text' />" },
    ]
};

// tell kendo to build it
grid.kendoTreeList(config);
}

... этот код устанавливает древовидный список, но затем отображает сообщение "нет записей", даже если в базовом наборе есть записи, и я установил его как для свойства данных, так и для всегда возврата при чтении конфигурации транспорта.

Я не получаю никаких исключений / предупреждений, просто пустой список.

0 ответов

Другие вопросы по тегам