我想创建一个带有动态列的剑道网格,所有列都将在客户端创建。
举个例子:
我编写了以下代码来创建网格:
var grid = $("#grid");
grid.children().remove();
grid.kendoGrid({
columns: [{ title: 'One', width: '100px' }, { title: 'Two', width: '100px' }, {title: 'Three', width:'100px'}],
dataSource: {
transport: {
read: {
url: "@Url.Action("")",
type: "GET",
dataType: "json",
traditional: true,
data: {
itemTypeId: $("#").val(),
where: ["", "", "", "", ""],
orderBy: ["", "", ""],
},
},
},
schema: {
data: "",
total: "",
},
serverPaging: true,
pageSize: 4,
error: function (e) {
alert(e.errors);
}
},
pageable: true,
resizable: true,
reorderable: true,
})
}
当我通过以下方式定义列时:
columns: [{ title: 'One', width: '100px' }, { title: 'Two', width: '100px' }, {title: 'Three', width:'100px'}],
上面的代码工作正常。
但我想在一个不起作用的循环中创建所有这些列。
就像:我将架构保存在 javascript 变量中,然后将其分配给剑道网格。
Var columnSchema = "{ title: 'One', width: '100px' },{ title: 'Two', width: '100px' },{ title: 'Two', width: '100px' }";
columns : [columnSchema]
但它不起作用。