Nid*_*ido 1 jquery kendo-ui kendo-grid
对于我的Kendo数据源,结果json有一个列"TotalRecords",我如何将此总数设置为Kendo Datasource总数,以便我的服务器分页可以工作.我的代码如下:
var iDataSource = new kendo.data.DataSource({
transport: {
read:
{
url: service_URL + "GetUnconfirmedppointments",
datatype: "json",
type: "GET"
},
parameterMap: function (options) {
return {
appointmentNos: Appointment_Number.value,
loadNumbers: Load_Number.value,
purchaseOrders: Purchase_Orders.value,
dateFrom: Date_From.value,
dateTo: Date_To.value,
warehouse: warehouses.value,
carrierId: cr_carrier_id,
sortColum: getOrderBy(options.sort),
sortDirection: getOrderDir(options.sort),
pageSize: options.pageSize,
pageNumber: options.page
};
}
},
schema: {
model: {
fields: {
APP_APPOINTMENT_ID: { type: "number" },
APPOINTMENT_DATE: { type: "date" },
LO_LOAD_NUMBER: { type: "number" }
}
}
},
pageSize: 5,
total: function (response) {
return response[0].TotalRecords;
},
serverPaging: true,
serverFiltering: true,
serverSorting: true
});
Run Code Online (Sandbox Code Playgroud)
当前实现不起作用,即使我提供了硬编码的总记录号,当此数据源绑定到网格时,总计数仅显示json中返回的记录数,即pagesize.
我假设你的总数是每个记录?如果不是,你可以做......
schema: {
total: "TotalRecords"
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,您的JSON应该像这样结构化......
{ data:[...], total: 100 }
Run Code Online (Sandbox Code Playgroud)
但是,如果您无法从服务器上发送架构,则可以解析架构.如果总计数附加到每条记录,您可以添加一个字段来保存它并在解析中填充它.
schema: {
parse: function(data) {
// assign top level array to property
data.data = data;
// assign the count off one of the fields to a new total field
data.total = data.data[0].TotalRecords;
return data;
}
}
Run Code Online (Sandbox Code Playgroud)