Я пытаюсь управлять на стороне сервера подкачки, но мой подкачки для кендо сетки всегда 0.AngularJS Кендо Сетка пейджинговой всегда Нулевой
Мой код:
Index.cshtml
<div ng-controller="telerikGridController">
<div id="grid" kendo-grid k-options="mainGridOptions"></div>
</div>
ASP.NET MVC JsonResult:
данных Возвращается Выше JsonResult является:
AggregateResults: null
Data: [{DeptId: 1, DepartmentName: "Information Technology", Country:"Pakistan", City: "Lahore",…},…]
0: {DeptId: 1, DepartmentName: "Information Technology", Country: "Pakistan", City: "Lahore",…}
1: {DeptId: 2, DepartmentName: "Mechnical Engineering", Country: "India", City: "Dehli",…}
Errors: null
Total: 6
Мой AngularJs контроллер:
'use strict';
app.controller('telerikGridController', ['$scope', function telerikGridController($scope) {
$scope.mainGridOptions = {
dataSource: {
pageSize: 5,
serverPaging: true,
serverSorting: true,
type: "aspnetmvc-ajax",
transport: {
read: "Grid/Departments",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8"
},
schema: {
data: "Data",
total: "Total",
errors: "Errors"
}
},
sortable: true,
pageable: true,
dataBound: function() {
this.expandRow(this.tbody.find("tr.k-master-row").first());
},
columns: [
{
field: "DepartmentName",
title: "Department Name",
width: "120px"
}, {
field: "Country",
title: "Country",
width: "120px"
}, {
field: "City",
width: "120px"
}, {
field: "Phone",
width: "120px"
}, {
field: "Description"
}
]
};
$scope.detailGridOptions = function(dataItem) {
return {
dataSource: {
serverPaging: true,
serverSorting: true,
serverFiltering: true,
pageSize: 2,
type: "aspnetmvc-ajax",
transport: {
read: "Grid/GetEmployees",
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8"
},
schema: {
data: "Data",
total: "Total",
errors: "Errors"
},
filter: { field: "DeptId", operator: "eq", value: dataItem.DeptId }
},
scrollable: false,
sortable: true,
pageable: true,
filterable: true,
columns: [
{ field: "FirstName", title: "First Name", width: "56px" },
{ field: "LastName", title: "Last Name", width: "110px" },
{ field: "Address", title: "Address" },
{ field: "Phone", title: "Phone", width: "190px" }
]
};
}
}]);
Результат:
В то время как объекты заполняются идеально как может видеть в браузере консоли
Если я добавить функцию, чтобы получить Всего в angularjs контроллер возвращает мне правильное значение, которое 6, но пейджинг всегда остаются 0 .i.e. как указано ниже
schema: {
data: 'Data',
total: function (data) {
return data.Total;
},
errors: 'Errors'
}
Он всегда возвращает меня data.Total = 6, который является правильным, но результат всегда остается прежним, т.е. подкачки = 0.
Я также попытался путем присвоения фиксированное значение 6 для Total, как нижеперечисленным
schema: {
data: "Data",
total: 6,
errors: "Errors"
}
Но возвращать ошибки
Uncaught TypeError: a.reader.total is not a function
Пожалуйста, помогите мне! Благодарю.
Вы пытаетесь получить номер страницы назад? Какова должна быть ценность пейджера? – BillRuhl
Я получил значение с помощью объекта DataSourcerequest и хочу, чтобы сетка kendo отображала подкачки. – Aqdas
Я ответил исправление в моем ответе ниже :-) – Aqdas