2016-07-25 7 views
1

Как я могу получить свой объект ListView для объекта через объект timetableRecords. Я собираюсь погулять, но не могу найти способ сделать это.Kendo UI ListView, который потребляет объект с массивом

Пример данных (чванство модель отклика схемы):

{ 
    "from": { 
    "name": "string" 
    }, 
    "to": { 
    "name": "string" 
    }, 
    "price": 0, 
    "date": "2016-07-25T11:52:52.674Z", 
    "timetableRecords": [ 
    { 
     "departure": "2016-07-25T11:52:52.675Z", 
     "arrival": "2016-07-25T11:52:52.675Z" 
    } 
    ], 
    "fetchedOn": "2016-07-25T11:52:52.675Z" 
} 

HTML:

<div id="timetableRecords"></div> 

<script type="text/x-kendo-template" id="template"> 
    <div class="timetable-record"> 
     <p>#:departure#</p> 
     <p>#:arrival#</p> 
    </div> 
</script> 

JavaScript:

$('#timetableRecords').kendoListView({ 
    template: kendo.template($("#template").html()), 
    dataSource: { 
     transport: { 
      read: { 
       type: 'GET', 
       url: 'api/timetable?from=station_name1&to=station_name2', 
       dataType: 'json' 
      } 
     } 
    } 
}); 

ответ

0

Итак, прошло некоторое время с тех пор, как вы разместили это, но у меня есть решение для вас (сомневайтесь, что вам все равно понадобится).

schema.parse() событие может помочь вам:

Выполненная перед использованием ответа сервера. Используйте его для предварительной обработки или анализа ответа сервера.

Вот ваш обновленный Datasource ниже:

dataSource: { 
    transport: { 
    read: { 
     type: 'GET', 
     url: 'api/timetable?from=station_name1&to=station_name2', 
     dataType: 'json' 
    } 
    }, 
    schema: 
    parse: fucntion(e) { 
     return e.timetableRecords 
    } 
} 

Таким образом, ваш DataSource обрабатывает список «timetableRecords», и ваш шаблон будет действительным.

Успехов,

Грант