Javascript Kendo chart.redraw()方法在IE8中不起作用
我目前使用的是一个KendoUI图表对象,其中添加了动态数据。将动态数据添加到数据点和值轴。当试图在图表上运行.redraw()方法以重新绘制整个内容而不是仅仅更新数据点时,IE8抛出无效的参数错误,并且由于80020101而无法完成操作 删除redraw()语句可以修复此问题,并允许图表进行渲染,但更新轴和图表的部分不能作为一个整体进行渲染。下面是失败的代码部分Javascript Kendo chart.redraw()方法在IE8中不起作用,javascript,jquery,kendo-ui,Javascript,Jquery,Kendo Ui,我目前使用的是一个KendoUI图表对象,其中添加了动态数据。将动态数据添加到数据点和值轴。当试图在图表上运行.redraw()方法以重新绘制整个内容而不是仅仅更新数据点时,IE8抛出无效的参数错误,并且由于80020101而无法完成操作 删除redraw()语句可以修复此问题,并允许图表进行渲染,但更新轴和图表的部分不能作为一个整体进行渲染。下面是失败的代码部分 //add value axis: var chartOptions = metricsChart.options; var val
//add value axis:
var chartOptions = metricsChart.options;
var valueAxis = metricsChart.options.valueAxis;
chartOptions.valueAxis = []; //reset value axis
chartOptions.valueAxis.push(valueAxis);
//chartOptions.valueAxis.push({}); //right value axis
//left value axis:
chartOptions.valueAxis[0] = {
name: leftData.MeasurementTypeGroupName, //"blood pressure"
title: {
text: leftData.MeasurementTypeGroupName + (leftData.SeriesData[0].UnitName.length > 0 ? " (" + leftData.SeriesData[0].UnitName + ")" : ""),
font: "12px",
color: "gray"
},
color: "gray",
labels: {
format: "{0}",
},
majorGridLines: {
visible: false
},
min: yAxisMin,
max: yAxisMax,
//there are three plot bands: (yAxisMin, rangeLow), (rangeLow, rangeHigh), ( rangeHigh, yAxisMax)
plotBands: [{
from: yAxisMin,
to: rangeLow,
color: bottomPlotColor,
opacity: 0.8
}, {
from: rangeLow,
to: rangeHigh,
color: middlePlotColor,
opacity: 0.8
}, {
from: rangeHigh,
to: yAxisMax,
color: topPlotColor,
opacity: 0.8
}]
};
for ( var j = 0; j < leftData.SeriesData.length; j ++) {
chartOptions.series[j].axis = leftData.MeasurementTypeGroupName; //e.g. "blood pressure";
}
metricsChart.redraw();
//添加值轴:
var chartOptions=metricsChart.options;
var valueAxis=metricsChart.options.valueAxis;
chartOptions.valueAxis=[]//重置值轴
chartOptions.valueAxis.push(valueAxis);
//chartOptions.valueAxis.push({})//右值轴
//左值轴:
chartOptions.valueAxis[0]={
名称:leftData.MeasurementTypeGroupName,//“血压”
标题:{
文本:leftData.MeasurementTypeGroupName+(leftData.SeriesData[0].UnitName.length>0?(“+leftData.SeriesData[0].UnitName+”):”),
字体:“12px”,
颜色:“灰色”
},
颜色:“灰色”,
标签:{
格式:“{0}”,
},
主要生产线:{
可见:假
},
敏:亚希敏,,
马克斯:亚克斯马克斯,
//有三个绘图带:(yAxisMin,rangeLow),(rangeLow,rangeHigh),(rangeHigh,yAxisMax)
绘图带:[{
发信人:亚希敏,
致:rangeLow,
颜色:底色,
不透明度:0.8
}, {
发件人:rangeLow,
致:Rangehight,
颜色:中色,
不透明度:0.8
}, {
发信人:兰治高中,
致:yAxisMax,
颜色:topPlotColor,
不透明度:0.8
}]
};
对于(var j=0;j
}
目前这是一个巨大的破坏者,如果有人有其他方法可以推荐,而不是.redraw方法。这将是一个巨大的帮助。问题解决了,错误在
text: leftData.MeasurementTypeGroupName + (leftData.SeriesData[0].UnitName.length > 0 ? " (" + leftData.SeriesData[0].UnitName + ")" : ""),
从title{}对象中删除该行解决了这个问题