I’m trying to change the datasource’s type from “OData” to “json”. The new URL is returning json data. But when I change the type from OData to json, then I see the data in grid but filters & paging doesn’t work.
So I have 31 rows, then when page loads it shows 31 as page size by default, along with configured page sizes ( ie, 5,10,15,20)
Filters does not filter on any column
In below shows the old values also. Note there is no change in grid. Im not sure what else I need to change when I move from OData to Json
var
gridDS: kendo.data.DataSource = createGridDataSource($grid);
$grid.kendoGrid({
dataSource: gridDS,
autoBind:
true
,
columnMenu:
true
,
scrollable:
true
,
sortable:
true
,
reorderable:
true
,
filterable: {
extra:
false
,
operators: {
string: {
eq:
"Is equal to"
,
neq:
"Is not equal to"
}
}
},
toolbar: [
{ template: kendo.template($(
"#tb-inprogress-template"
).html()) }
],
pageable: {
refresh:
true
,
pageSizes: [5, 10, 15, 20],
buttonCount: 5
},
columns: [
{
field:
"BatchID"
,
hidden:
true
,
},
{
field:
"TaxYear"
,
title:
"Year"
,
width:
"74px"
,
attributes: { style:
"text-align: right;"
},
filterable:
{
ui: taxYearFilter
}
},
{
field:
"CreatedByUserName"
,
title:
"Uploaded By"
,
filterable: { ui: createdByUserNameFilter }
},
{
field:
"Created"
,
title:
"Uploaded Date"
,
format:
"{0:MM/dd/yyyy}"
,
filterable:
{
ui: createdDateFilter
}
},
{
field:
"BatchStatus"
,
title:
"Batch Status"
,
filterable: {
ui: batchStatusFilter
}
},
{
field:
"TotalCost"
,
title:
"Total Cost"
,
filterable:
false
}
]
});
function
createGridDataSource(progressElem: any): kendo.data.DataSource {
return
new
kendo.data.DataSource({
type:
"json"
,
// ****** before ****** “odata”
transport: {
read: {
url:
"/Import/GetSummary"
,
// ****** before ****** “Api/BatchSummary"
dataType:
"json"
,
timeout: timeout
},
},
requestStart:
function
(e: any): void {
isGridDataSourceActivelyLoading =
true
;
kendo.ui.progress(progressElem,
true
);
},
requestEnd:
function
(e: any): void {
isGridDataSourceActivelyLoading =
false
;
kendo.ui.progress(progressElem,
false
);
},
schema: {
data:
function
(data) {
return
data;
// ****** before ****** “data["value”]
},
total:
function
(data) {
return
data.length
// ****** before ****** “data[“odata.count”]"
},
model: {
fields: {
BatchID: { type:
"number"
},
TaxYear: { type:
"number"
},
BatchStatus: { type:
"string"
},
Created: { type:
"date"
},
CreatedByUserName: { type:
"string"
},
LastModifiedForSorting: { type:
"date"
},
TotalCost: { type:
"string"
},
}
}
},
pageSize: pageSize,
serverPaging:
true
,
serverFiltering:
true
,
serverSorting:
true
,
sort: [
{ field:
"LastModifiedForSorting"
, dir:
"desc"
}
],
filter: [
{ field:
"TaxYear"
, operator:
"eq"
, value: 2015 },
{ field:
"CreatedByUserName"
, operator:
"eq"
, value: “James” },
{ field:
"BatchStatus"
, operator:
"neq"
, value: “Active” }
]
});
}