我的剑道图有问题,当从控制器返回的项目列表没有项目时我有错误:
Uncaught TypeError: Cannot read property 'length' of undefined kendo.all.min.js:28
Vt.extend._bindCategoryAxis kendo.all.min.js:28
Vt.extend._bindCategories kendo.all.min.js:28
Vt.extend._onDataChanged kendo.all.min.js:28
b.isFunction.i jquery-1.9.1.min.js:3
i.extend.trigger kendo.all.min.js:9
tt.extend._process kendo.all.min.js:11
tt.extend.success kendo.all.min.js:11
b.isFunction.i jquery-1.9.1.min.js:3
n.success kendo.all.min.js:11
c jquery-1.9.1.min.js:3
p.fireWith jquery-1.9.1.min.js:3
k jquery-1.9.1.min.js:5
r jquery-1.9.1.min.js:5
如果我从代码中删除categoryAxis,所有工作都按预期工作,无论是否有数据,但问题是我不会在x轴上显示时间:
function createChart() {
$("#chart").kendoChart({
dataSource: {
transport: {
read: {
url: "@Url.Action("GetLostDaysTrend", "Production")"+"?
initDate="+startDate+"&endDate="+endDate+"&reactor="+reactor
,contentType: "application/json",
type: "POST"
},
parameterMap: function (options) {
return JSON.stringify(options);
}
},
group: {
field: "Reactor"
},
sort: {
field: "Fecha",
dir: "asc"
}
},
title: {
text: "Tendencias de dias perdidos"
},
legend: {
position: "top"
},
seriesDefaults: {
type: "line"
},
series:
[{
field: "Acumulado",
name: "Acumulado",
groupNameTemplate: "#= group.value # (#= series.name #)"
}],
categoryAxis: {
field: "Fecha",
labels: {
template: "#= formatDate(value) #",
rotation: -90
}
},
tooltip: {
visible: true,
format: "N0"
}
});
}
我正在解决这个问题,任何线索?
答案 0 :(得分:2)
遇到同样的问题并通过检查数组的长度是否为零来修复它:
parameterMap: function (options) {
...
if (options.sort.length == 0) {
return [];
}
else {
return options.sort[0].field + ',' + options.sort[0].dir;
}
}
答案 1 :(得分:0)
我能找到的最好的是它是由于一个空的数据集。您可以尝试以下解决方法:http://www.kendoui.com/forums/ui/grid/grid-empty-result-response-handling.aspx