我已经习惯使用KendoUI Grid插件了,但是我遇到了一个新的场景,我需要从我的数据库中获取column参数。
通常的设置是:
columns:
[
{
field: "username",
width: 247,
title: "Name"
},
{
field: "branch",
width: 50,
title: "Branch",
}...
我现在需要这些参数由我的PHP脚本确定。
我的dataSource参数中是否需要设置一些内容?如果是这样,请举个例子?
这里的参考是我的dataSource参数:
dataSource: {
serverPaging: true,
serverSorting: true,
pageSize: 5,
transport: {
read: {
url: ROOT+"user/user-list",
},
update: {
url: ROOT+"user/update-user",
type: "POST",
data: function(data)
{
data.DoB = kendo.toString(data.DoB, 'yyyy-MM-dd') ;
data.dateStarted = kendo.toString(data.dateStarted, 'yyyy-MM-dd') ;
return data;
}
}
},
error: function(e) {
alert(e.errorThrown+"\n"+e.status+"\n"+e.xhr.responseText) ;
},
schema: {
data: "data",
total: "rowcount",
model: {
id: 'id',
fields: {
username: {
type: "string",
editable: true
},
type: {
type: "string",
editable: true,
validation: {
required: true
}
},
level: {
type: "string",
editable: true,
validation: {
required: true
}
},
firstName: {
type: "string",
editable: true
},
middleName: {
type: "string",
editable: true
},
lastName: {
type: "string",
editable: true
},
DoB: {
type: "date",
editable: true,
format: "{0:yyyy/MM/dd}"
},
dateStarted: {
type: "date",
editable: true,
format: "{0:dd/MM/yyyy}"
},
enabled: {
type: "boolean",
editable: true
}
}
}
}
}
答案 0 :(得分:0)
我刚刚意识到我可以通过使用$ .ajax用JSON格式的列数据填充变量来实现这一点。
例如,在初始化网格之前调用以下内容:
var columnData ;
$.ajax({
url: myDataSource,
type: 'POST',
success: function(data){
columnData = data ; // In the form of [{field: "username",width: 247,title: "Job #"}]
})
})
然后在网格中:
...
columns: columnData
...
我过于复杂了。欢迎任何评论。