2015-11-11 2 views
0

У меня есть кендо сетки на странице Wich инициализируется со следующим кодом:Как связать данные JSON после Кендо Сетка нагрузки

$.post("@Url.Action("kendoGetJson", "MyOpsUser")", function (col) { 
     var grid = $("#grid").kendoGrid($.parseJSON(col)); 
     var dataSource = new kendo.data.DataSource(
      { 
       transport: { 
        read: { 
         url: '@Url.Action("MyTaskOpsPopulate", "MyOpsUser", new { filterType = "0", user = "toto", urgencyState = "{\"Urgent\":true,\"Standard\":true,\"OnHold\":true}" })', 
         contentType: "application/json", 
         dataType: "json" 
        } 
       }, 
       schema: { 
        data: "Value" 
       }, 
       type: "json", 
       serverPaging: false, 
       serverFiltering: true, 
       serverSorting: false 
      } 
     ); 

     var grid = $("#grid").data("kendoGrid"); 
     var dataSource = dataSource.read(); 
     grid.setDataSource(dataSource); 
} 

Определение сетки заключается в следующем:

{"height": 550, 
"groupable": true, 
"sortable": true, 
"pageable": { 
    "refresh": true, 
    "pageSizes": true, 
    "buttonCount": 5 
}, 
"columns": [ 
    { 
     "field": "Titre" 
    }, 
    { 
     "field": "Prix" 
    } 
]} 

JSON данные, которые я хочу, чтобы привязать к моей сетке:

{"Value": [ 
    { 
     "Titre": "hey", 
     "Prix": 12 
    }, 
    { 
     "Titre": "hello", 
     "Prix": 25 
    } 
]} 

Я получаю следующее сообщение об ошибке в консоли: «Uncaught TypeError: не могу прочитать подпорку erty 'fetch' undefined ".

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

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

+0

Я не вижу, зачем связывать источник данных после инициализации сетки, так как вы можете установить его в параметрах сетки, и он будет запрашивать и удаленные данные. Пробовал ли вы настройку dataSource в свойствах сетки? Кроме того, возможно, что dataSource запрос вернуть пустые данные? – DontVoteMeDown

ответ

1

Наконец-то я нашел, как это исправить!

$ .post ("@ Url.Action (" kendoGetJson " "MyOpsUser")", функция (цв) {

 var grid = $("#grid").kendoGrid($.parseJSON(col)); 

     $.post("@Url.Action("MyOpsUserPopulate", "MyOpsUser", new { filterType = "0", user = "toto", urgencyState = "{\"Urgent\":true,\"Standard\":true,\"OnHold\":true}" })", function (JsonData) { 
      var grid = $("#grid").data("kendoGrid"); 
      var datasource = grid.dataSource; 
      datasource.data(JsonData); 
     }); 

Это работает для меня. Спасибо за помощь!

+0

эй моя проблема релевантна, можете ли вы ответить? https://stackoverflow.com/questions/44171551/how-to-use-data-from-model-to-bind-as-kendo-data source m с помощью ASP.Net MVC – Samra

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