2014-11-19 3 views
0

В последнее время я испытываю трудности с сетками, в основном получая их для отображения правильно отформатированных данных JSON, которые извлекаются из веб-службы (которая была проверена в VS2013 и JSONLint), если второй набор глаз мог бы взглянуть на мое решение и сказать мне, чего не хватает? Я собираюсь бананы!Kendo Grid корректно отображает данные json

функция SetTelerikGrid() {

// prepare the data object and consume data from web service,... 
$.ajax({ 
    type: "GET", 
    async: false, 
    url: "http://localhost:38312/SDMSService.svc/GetProductPositionsByLocation/0544", 
    datatype: "json", 
    success: function (ProductData, textStatus, jqXHR) { 

     // populate kendo location grid by data from successful ajax call,... 
     $("#LocationProductsGrid").kendoGrid({ 
        dataSource: { 
         data: ProductData, // solution here was: **JSON.parse(LocationData)** 
         schema: { 
          model: {          
           fields: { 
            Date: { type: "string" }, 
            ProductCode: { type: "string" }, 
            StoreNum: { type: "string" },           
            ProductQty: { type: "int" } 
           } 
          } 
         }, 
         pageSize: 20 
        }, 
        height: 550, 
        scrollable: true, 
        sortable: true, 
        filterable: true, 
        pageable: { 
         input: true, 
         numeric: false 
        }, 
        columns: [ 
         { field: "Date", title: "Date", width: "130px" }, 
         { field: "ProductCode", title: "Product Code", width: "130px" }, 
         { field: "StoreNum", title: "Store Number", width: "130px" },        
         { field: "ProductQty", title: "Product Qty", width: "130px" } 
        ] 
       }); 

    } 
}); 

}

ответ

0

Наконец понял это, поле 'ИзделиеТехнический' - хотя и в идеальном формате JSON - все еще требуется, чтобы быть разобрано как JSON в конфигурации источника данных, как это так, ...

данных: JSON.parse (ИзделиеТехнический)

+0

Рад, что вы это решили. Но для привязки сетки вы можете использовать метод чтения данных «data». Это не требует явного разбора или чего-то еще. Просто предложение. :) http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-dataSource –

1

Существует критическое изменение в ASP.NET Основные, связанные к тому, как JSON serializer

работ по Вы, вероятно, может смягчить, добавив опцию JSon так:

1: изменение

services.AddMvc(); 

в

услуги

.AddMvc() 
    .AddJsonOptions(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver()); 

ИЛИ

2:

public IActionResult Read() 
{ 
    // Override serializer settings per-action 
    return Json(
    MyModel, 
    new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() } 
); 
} 

refrences: http://www.telerik.com/forums/using-2016-2-630-preview---data-not-displayed#qlHR6zhqhkqLZWuHfdUDpA

https://github.com/telerik/kendo-ui-core/issues/1856#issuecomment-229874309

https://github.com/telerik/kendo-ui-core/issues/1856#issuecomment-230450923

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