我正在使用Knockout-Kendo.js库来获取我的js + HTML5 SPA。在我的viewmodel中,我有一个myItems
Knockout Observable Array。我有一个客户端存储库,负责从服务器获取数据并保留它。我希望能够根据对API的POST请求在我的viewmodel中填充myItems
,该API将过滤器对象(包含过滤器和分页信息)发送到服务器并返回过滤项目列表。
data
的{{1}}属性来设置源代码。我对吗?如果是,我可以在下面的问题中达到要求吗?dataSource
还是有替代方法可以实现这一点?答案 0 :(得分:2)
如果你需要在Knockout-Kendo中,你可以直接使用dataSource。如果您使用false或data
指定{}
选项,然后同时指定dataSource
选项,那么它将使用它。
例如,您可以将其绑定为:
<div data-bind="kendoGrid: gridOptions"></div>
使用视图模型:
var grid = {
data: false,
dataSource: {
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
},
schema: {
model: {
fields: {
OrderID: {
type: "number"
},
Freight: {
type: "number"
},
ShipName: {
type: "string"
},
OrderDate: {
type: "date"
},
ShipCity: {
type: "string"
}
}
}
},
pageSize: 50,
serverPaging: true,
serverFiltering: true,
serverSorting: true
},
height: 250,
sortable: true,
pageable: true,
columns: [{
field: "OrderID",
filterable: false
},
"Freight", {
field: "OrderDate",
title: "Order Date",
width: 100,
format: "{0:MM/dd/yyyy}"
}, {
field: "ShipName",
title: "Ship Name",
width: 200
}, {
field: "ShipCity",
title: "Ship City"
}]
};
ko.applyBindings({
gridOptions: grid
});
答案 1 :(得分:0)
dataSource:{pageSize:20}像这样指定....如果你只提到pageSize:20就像这样,它不起作用