我正在开发一个网络应用,需要使用一些数据填充网格。我有一个用onClick方法连接的按钮,它打开一个新的模式窗口,用于显示网格。我正在使用jquery post调用控制器。但是,我无法获取json数据并将其分配给我的变量。
我的代码如下:
var grid_ds;
$.post('${ctx}/class/student/details?studentId=${student.studentId}', function(data){
}, 'json');
$('#student_grid').kendoGrid({
dataSource: grid_ds,
columns: [
{field: "studentName", title: "Student Name"},
{field: "studentClass", title: "Class"}
],
dataBound: function () {
emptyGrid($('#student_grid'));
}
}).data('kendoGrid');
我的控制器发回json。我可以看到数据来了。我应该如何将json数据分配给grid_ds和student_grid,并使值填充在网格中。
答案 0 :(得分:0)
您可以尝试使用kendo.data.DataSource
自定义transport
功能,如下所示:
$('#student_grid').kendoGrid({
dataSource: dataSource = new kendo.data.DataSource({
transport: {
read: function (e) {
$.post('${ctx}/class/student/details?studentId=${student.studentId}', 'json')
.done(function (data) {
e.success(data);
});
}
}
}),
columns: [
{
field: "studentName",
title: "Student Name"
},
{
field: "studentClass",
title: "Class"
}
]});
我认为问题可能在于您如何获取数据。由于$.post
是带外操作的ajax调用,因此grid_ds
在传递给.kendoGrid()
函数时很可能未定义。
我无法在kendo.ui.Grid
中找到您在问题中指定的dataBound
配置属性。您是否碰巧知道此配置设置的来源?