我很难将SharePoint Online列表作为Kendo UI Grid的数据源连接起来。有没有人能够做到这一点,并能够提供代码示例?以下是我一直在尝试的内容。
$("#grid").kendoGrid({
dataSource: {
type: "odata",
transport: {
read: "https://anysharepointonlinesite.com/_api/web/lists/GetByTitle('ListName')/items",
dataType: "json"
},
schema: {
model: {
fields: {
ID: { type: "number" },
Title: { type: "string" }
}
}
},
pageSize: 20
},
columns: [{
field:"ID",
filterable: false
},
{
field: "Title",
title: "Title"
}
]
});
});
我遇到的问题是没有返回任何数据。
答案 0 :(得分:1)
我已将Kendo UI控件用于Office 365(SharePoint Online)网站。我在这篇here上有一篇博文,但我在这里描述了重要的部分。
我将Map控件连接到一些列表数据。该控件显示在SharePoint网站上。我创建了一个对象来进行REST调用,并将结果作为kendo.data.Datasource保存到对象的属性中。
$().ready(function () {
var restUrl = "/{site location}/_api/web/lists/GetByTitle('Locations')/items";
$.getJSON(restUrl, {
format: 'json'
}).done(function (data) {
$.each(data.value, function (i, item) {
item.location = [];
item.location.push(parseFloat(item.LocationLat));
item.location.push(parseFloat(item.LocationLong));
})
locationMap.mapData = new kendo.data.DataSource({ data: data.value });
locationMap.mapData.read();
createMap();
});
在我的createMap函数中,我将控件的datasource属性设置为上面定义的属性。
dataSource: locationMap.mapData,
是的,这是一个地图控件,但是我和其他控件一样使用了这个方法,比如调度程序控件。我已经使用Telerik一段时间了,他们的控件往往在连接数据时的行为方式相同。