Я новичок в кендо и уже несколько дней пытаюсь понять, как заполнить сетку кендо данными поиска. Мой случай следующий:
У меня есть модель просмотра javascript:
sl.kendo = function () {
var billingReportViewModel = kendo.observable({
billingReportCriteria: [],
executeSearch: function (e) {
var $grid = $("#gridResults").data("kendoGrid");
$grid.dataSource.read();
$grid.refresh();
}
});
return {
billingReportViewModel: billingReportViewModel
}
} ();
И я инициализирую billingReportCriteria с сервера с помощью этой функции:
var initCriteriaViewModel = function () {
$.ajax({
url: 'GetBillingReportCriteria',
type: "GET",
dataType: "json",
success: function (model) {
**$.extend(sl.kendo.billingReportViewModel.get("billingReportCriteria"), kendo.observable(model));**
// bind to the viewModel
kendo.bind($("#searchTable"), sl.kendo.billingReportViewModel);
}
});
}()
Затем я объявляю свой источник данных сетки, который отправляет этот billingReportCriteria на сервер в качестве параметра:
var gridDataSource = new kendo.data.DataSource({
transport: {
read: {
url: "GetBillingReportResults",
data: JSON.stringify(sl.kendo.billingReportViewModel.get("billingReportCriteria")),
cache: false,
type: "POST"
}
},
schema: {
data: "Items",
total: 10 // total number of data items is returned in the "count" field of the response
}
});
И я запускаю свою сетку кендо:
$("#gridResults").kendoGrid({
columns: [
{
field: "Name"
},
{
field: "Title"
}],
dataSource: gridDataSource,
autoBind: false
});
Когда я выполняю поиск из модели представления «executeSearch», я захожу на сервер, но BillingReportCriteria пуст! Когда я проверяю значение «billingReportViewModel» в инструментах F12 Chrome, все кажется в порядке, но когда я проверяю значение «sl.kendo.billingReportViewModel.billingReportCriteria» или «sl.kendo.billingReportViewModel.get("billingReportCriteria")' - он пуст, хотя 'sl.kendo.billingReportViewModel.get("billingReportCriteria.Name")', например, имеет правильное значение! Можете подсказать, в чем проблема? Почему-то я не могу отправить правильный 'billingReportCriteria' на сервер!