Javascript 网格中使用数据的剑道数据源没有数据
我在MVC应用程序中有一个用C#编写的剑道数据源。此剑道数据源检索状态列表和相应的时间段(作为时间跨度)Javascript 网格中使用数据的剑道数据源没有数据,javascript,kendo-ui,datasource,Javascript,Kendo Ui,Datasource,我在MVC应用程序中有一个用C#编写的剑道数据源。此剑道数据源检索状态列表和相应的时间段(作为时间跨度) var statesDataSource = new kendo.data.DataSource({ transport: { read: { url: '@(Url.Action("Action", "Controller", new { id = id}))', dataType: "json",
var statesDataSource = new kendo.data.DataSource({
transport: {
read: {
url: '@(Url.Action("Action", "Controller", new { id = id}))',
dataType: "json",
success: function (result) {
debugger;
console.log(result);
CreateTestSetupUsageStatisticsChart();
CreateTestSetupUsageStatisticsGrid();
},
error: function (xhr, error) {
debugger;
console.log(xhr);
console.log(error);
}
}
},
然后,我使用statesDataSource.fetch();
检索数据,并可以在Chrome网络选项卡中查看请求和响应。当我访问此数据源的数据时,我可以看到:
statesDataSource.data()
[
- nt.extend.init
Duration: nt.extend.init
Days: 0,
Hours: 0,
Milliseconds: 94,
Minutes: 0,
Seconds: 56,
Ticks: 560940000,
TotalDays: 0.0006492361111111111,
TotalHours: 0.015581666666666666,
TotalMilliseconds: 56094,
TotalMinutes: 0.9349000000000001,
TotalSeconds: 56.093999999999994
HumanReadableDuration: "56s"
State: "Broken"
_events: Object
parent: function (){return r
uid: "4a9044ec-921c-48c7-9234-f569aacebc10"
__proto__: i
+ nt.extend.init,
+ nt.extend.init,
+ nt.extend.init,
+ nt.extend.init,
+ nt.extend.init,
+ nt.extend.init
]
所以有结果。我想在剑道格网和图表中使用它们,但问题是,当我使用以下命令创建格网时,它是空的:
$("#grid").kendoGrid({
datasource: statesDataSource,
columns: [{
field: "State",
title: "State",
}, {
field: "HumanReadableDuration",
title: "Duration"
}]
});
当我使用$(“#grid”).data(“kendoGrid”).datasource.data()从剑道访问数据源时,它也是空的。我还尝试使用datasource:{data:statesDataSource}
和datasource:{data:statesDataSource.data()}
但没有成功
我还尝试将Datasource直接用于剑道网格,但效果相同:
$("#grid").kendoGrid({
datasource: {
transport: {
read: {
url: '@(Url.Action("Action", "Controller", new { id = id}))',
dataType: "json",
}
}
},
columns: [{
field: "State",
title: "State",
}, {
field: "HumanReadableDuration",
title: "Duration"
}]
});
这根本不起作用。我从服务器收到的数据是一个结构正确的JSON:
[
{
"State":"Broken",
"Duration":
{
"Hours":0,
"Minutes":0,
"Seconds":56,
"Milliseconds":94,
"Ticks":560940000,
"Days":0,
"TotalDays":0.00064923611111111106,
"TotalHours":0.015581666666666666,
"TotalMilliseconds":56094,
"TotalMinutes":0.93490000000000006,
"TotalSeconds":56.093999999999994
},
"HumanReadableDuration":"56s"
},
...
]
这是TimeSpan变量的问题吗?还是我现在缺少了什么?我现在很专注,因为我从昨天起就无法让它工作。任何新的想法或见解都会非常有用。您是否尝试过添加
datasource.read()
是的,它没有改变任何东西。我通过在chrome的控制台中键入来显示网格(加载页面后,没有显示任何内容)$(“#网格”).data(“kendoGrid”).setDataSource(statesDataSource)
。当我在图表上尝试时,我得到一个错误未捕获引用错误:未定义状态
。状态是来自数据源的字段(它在那里,并且总是作为字符串正确初始化)。这听起来像是操作顺序错误。我建议粘贴整个查看页面。是的,请将所有代码放在合理的块中。您需要一个包含此数据集的架构。请包括该部分。