Когда некоторое внешнее событие срабатывает мне нужно обновить диаграмму источника данных вручную вызова:кендо Гистограмма чтения никогда contatct сервер (кэш отключен)
$(".k-chart").data("kendoChart").dataSource.read();
Everytime я называю читать, DataSource requestEnd называется, но, obiviously нет ответ доступен для объекта обработчика события.
Я не вижу никакой ошибки, но веб-сервис, указанный в datasource.transport.read.url, никогда не достигается после первого запроса.
Диаграмма загрузки данных по серверу только первый раз, вот конфигурация:
$scope.chartopts = {
charArea: {
height: 500,
},
title: {
position: "bottom",
text: "A/B"
},
legend: {
position: "top",
visible: true
},
chartArea: {
background: "transparent"
},
seriesDefaults: {
labels: {
visible: true,
background: "transparent",
template: "#= category #: (#= value #)",
align: "alignColumn"
}
},
series: [{
startAngle: 180,
categoryField: 'category',
field: 'value',
padding: 0
}],
dataSource: {
transport: {
read: {
url: wsurl,
type: 'POST',
data: {id: id},
dataType: 'json',
cache: false,
}
},
requestEnd: function(e){
if(e.type == 'read' && e.response){//works only the first time
var rsp = [];
var a = e.response.a;
var b = e.response.b;
var tot = a + b;
if(tot!=0){
var pa = parseFloat(100 * a/tot).toFixed(2);
var pb = parseFloat(100 * b/tot).toFixed(2);
}
else {
pa = 0;
pb = 0;
}
rsp = [{
category: "A",
value: a,
color: "#66FF99",
},{
category: "B",
value: b,
color: "#FF9900",
}];
this.data(rsp);
}
}
},
tooltip: {
visible: true,
},
valueAxis: {
majorGridLines: {
visible: false
},
visible: false
},
categoryAxis: {
majorGridLines: {
visible: false
},
line: {
visible: false
}
}
};
Вот тег:
<div kendo-chart k-options='chartopts' ></div>
Я также пытался вызвать метод обновления на графике. Виджет на экране обновляется, но источник данных остается неизменным.