2016-10-06 2 views
0

Я использую компонент Kendo TreeList и пытаюсь делать удаленные данные по требованию. Это то, что источник данных выглядит следующим образом:Kendo UI TreeListDatasource Удаленный идентификатор данных по запросу равен

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» в строке запроса, переданной на сервер, пуст.

Empty id

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

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

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

Я использую Кендо 2016.3.914

ответ

0

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

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 }, 

      } 
     } 
    } 
});