I currently use a KendoUI Chart object in which dynamic data is being added to it. There is dynamic data being added to both the data points as well as to the value axis. When trying to run the .redraw() method on the chart in order to re-paint the whole thing rather than just update the data points IE8 throws Invalid argument errors as well as could not complete operation due to 80020101.
Removing the redraw() statement fixes this and allows the charts to render, but the section to update the axis and chart as a whole does not. Here is the section of code that fails.
//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();
}
This is a huge breaker at the moment, if some one has another method they can recommend other than the .redraw method. That would be a huge help.