2013-07-23 2 views
2

Давайте говорить у меня есть следующие данные в формате JSON, который является данными отклика вызова службы HTTP ...Как связать JSON ребенок массив Кендо сетки

{ 
    [ "container" : [ 
     { 
      "category" : "default", 
      "items" : [ 
       { "name" : "item-1" }, 
       { "name" : "item-2" } 
      ] 
     } ] 
    ] 
} 

Я хочу, чтобы связать items массив к Кендо UI сетки, поэтому я определил следующий источник данных ...

var dataSource = new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url: "http://...", 
      dataType: "jsonp", 
      data: { 
       Accept: "application/json" 
      } 
     } 
    }, 
    schema: { 
     model: ??? 
    } 
}); 

I've абсолютно никакой подсказки, как определить модель схемы, потому что я couldn't найти какую-либо информацию по этому конкретному сценарию связывания в документация.

ответ

3

В ответе вы определили container как array, но не уверены, могли ли они повториться. Насколько я понимаю, фактические данные: items. Верный? Если это так, это минимальное определение DataSource.

var dataSource = new kendo.data.DataSource({ 
    transport: { 
     read: { 
      url  : "http://...", 
      dataType: "json", 
      data: { 
       Accept: "application/json" 
      } 
     } 
    }, 
    pageSize : 10, 
    schema : { 
     data: "container[0].items" 
    } 
}); 

ПРИМЕЧАНИЕ: Ответ, который вы показываете не выглядит как JSONP, но в формате JSON. Вот почему я устанавливаю dataType как JSON.

+0

Изменение типа DataType на JSON и использование определения схемы отлично. Большое спасибо. – Matze

Смежные вопросы