Идентификатор Kendo UI TreeListDatasource удаленных данных по запросу равен нулю

#kendo-ui #kendo-treelist

#kendo-ui #kendo-список деревьев

Вопрос:

Я использую компонент Kendo TreeList и пытаюсь выполнять удаленные данные по требованию. Вот как выглядит источник данных:

  dsLocations = new kendo.data.TreeListDataSource({
    transport: {
        read: {
            url: baseUrl   "getsuggestedorganizationlocations?oid="   $("#Id").val(),
            dataType: "json"
        },

        schema: {
            model: {
                id: "Id",
                parentId: "ParentId",
                fields: {
                    Id: { type: "number", nullable: false },
                    ParentId: { field: "ParentId", nullable: true }
                }
            }
        }
    }
});
  

Вот как настроен компонент TreeList:

 $("#suggestedLocations").kendoTreeList({
    dataSource: dsLocations,
    columns: [
        { field: "Name", expandable: true, title: "Location", width: 250 },
        { field: "Selected", title: "Selected" }
    ]
});
  

И вот как выглядят данные, поступающие с сервера, для корневого:

 [{"Id":5,"ParentId":null,"Selected":true,"hasChildren":true,"Name":"Kitchen"}]
  

Когда я разворачиваю узел для извлечения дочерних элементов, «идентификатор» в строке запроса, переданной на сервер, пуст.

Пустой идентификатор

Если я изменю свою модель, поступающую с сервера, на:

 [{"id":5,"parentId":null,"Selected":true,"hasChildren":true,Name":"Kitchen"}]
  

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

Я использую Kendo 2016.3.914

Ответ №1:

Нашел его. Я поместил настройку схемы в конфигурацию транспорта. Вот что это должно быть:

 dsLocations = new kendo.data.TreeListDataSource({
    transport: {
        read: {
            url: _organizeApp.baseUrl   "getsuggestedorganizationlocations?oid="   $("#Id").val(),
            dataType: "json"
        }

    },
    schema: {
        model: {
            id: "Id",
            parentId: "ParentId",
            fields: {
                Id: { field: "Id", type: "number", nullable: false },
                ParentId: { field: "ParentId", nullable: true },

            }
        }
    }
});