我正在创建一个使用此代码的本地数据的kendo网格。
var jsondata = [{
abc: "Star Wars: A New Hope",
def: 1977,
ghi: 1977,
jkl: 1977,
mno: 1977,
pqr: 1977
}];
$("div#@code").Grid({
dataSource: {
data: jsondata,
schema: {
model: {
fields: {
abc: { type: "string" },
def: { type: "number" },
ghi: { type: "number" },
jkl: { type: "number" },
mno: { type: "number" },
pqr: { type: "number" }
}
}
},
pageSize: 20
},
height: 430,
scrollable: true,
sortable: true,
filterable: true,
pageable: {
input: true,
numeric: false
},
autoBind: true,
columns: [
{ title: 'abc', field: 'abc' },
{ title: 'def', field: 'def' },
{ title: 'ghi', field: 'ghi' },
{ title: 'jkl', field: 'jkl' },
{ title: 'mno', field: 'mno' },
{ title: 'pqr', field: 'pqr' },
],
});
.Grid是kendoGrid函数的扩展,因为我需要自定义网格。在这个功能里面,我打电话给
// Initialize the grid.
kendo.ui.Grid.fn.init.call(that, element, options);
当我测试代码时,浏览器给我TypeError r未定义。在我做了我的研究后,它是关于kendo网格尝试调用dataSource更新方法,当然不存在,因为我使用的是本地数据源。
我是否错过了将kendo网格设置为不读取远程数据源并只使用本地数据源的选项?
仅供参考,如果数据源是远程的,网格不会抛出错误并且工作正常。
答案 0 :(得分:2)
我将您的代码复制粘贴到jsbin http://jsbin.com/qowilugo/1/edit。 我只需要从
更改代码的一行$("div#@code").Grid({
进入
$("div#code").kendoGrid({
因为Grid函数,如您所解释的,是您创建的扩展/自定义jquery函数。并且jsbin代码工作正常。
您需要调试扩展/自定义jquery函数。也许有一部分代码不符合本地数据源,例如,设置serverPaging,serverGrouping,传输选项。