我的kendo网格显示动态列,还需要自定义分页,因为总记录数非常大。
我能够成功地实现自定义分页部分,但是动态列的功能不起作用。
我的场景是,根据响应数据,我将以字符串数组的形式生成列名,并将其作为操作方法响应的一部分发送。
我可以看到,columns我可以将它发送到网格,但是在调用响应后它不考虑columns列表。
我的代码是
var content = createkendoDataSource(APIRequest);
$("#grid").kendoGrid({
dataSource: content,
horizontalScrolling: true,
verticalScrolling: true,
scrollable: true,
pageable: {
messages: {
empty: "No search results found."
},
input: false,
numeric: true,
previousNext: true,
butonCount: 5,
pageSize: 10,
alwaysVisible: true,
pageSizes: [10, 25, 50, 100]
},
columns: content.totalColumns
});
创建如下数据源…
function createkendoDataSource(APIRequest) {
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/api/Search/Search",
contentType: "application/json; charset=utf-8",
type: "POST",
data: arfAPIRequest,
dataType: "json",
cache: false
},
parameterMap: function (options) {
APIRequest.pageSize = options.pageSize;
APIRequest.page = options.page;
var request = JSON.stringify(APIRequest);
return request;
}
},
serverPaging: true,
pageSize: 10,
schema: {
data: "results.results",
total: "total", // total is returned in the "total" field of the response,
parse: function (response) {
totalColumns = generateColumns(response.columns);
return response;
}
}
});
return dataSource;
}
我将动态列列表放到数据源的“parse”块中的“totalColumns”变量中。我是网格没有从响应中获取列列表。
这种期望有可能吗??如果这就是我在这里缺少的?
提前谢谢。