Настройка метки легенды не работает в контроллере модели

Основываясь на следующей реализации, я мог настроить метки легенды, это работает, когда я вставляю мой контроллер просмотра

series: [{
 field: "value",
 name :"#= group.items[0].fname || group.items[1].fname#" 
}],

Однако, когда я вставляю свой контроллер представления модели, он не работает.

chart.setDataSource(theDataSource);
chart.options.series.name = "#= group.items[0].fname || group.items[1].fname#"
chart.refresh();

person casillas    schedule 02.06.2015    source источник


Ответы (1)


Когда вы обновляете свойство options, вам нужно вызвать refresh(), когда вы закончите (http://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart#fields-options):

chart.refresh();

Вы также можете попробовать использовать метод setOptions (http://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart#methods-setOptions):

var chart = $("#chart").data("kendoChart");
chart.setOptions({ 
    series: [{
        field: "value",
        name :"#= group.items[0].fname || group.items[1].fname#" 
    }] 
});

Следующий подход должен работать,

изменить следующую строку кода

chart.options.series.name = "#= group.items[0].fname || group.items[1].fname#"

to

chart.options.series[0].name = "#= group.items[0].fname || group.items[1].fname#"; 
person ezanker    schedule 02.06.2015
comment
Спасибо, ezanker, у меня было chart.refresh(); сразу после chart.options.series.name , но fname не отображается. Кстати, что, если у меня есть около 10 гистограмм. Как мне быть с group.items[0].fname, .........., group.items[10].fname, Я проголосовал за вашу работу. - person casillas; 02.06.2015
comment
@casillas, вы также можете попробовать chart.redraw();. если у вас есть 10 категорий, шаблон названия серии может быть не лучшим вариантом. Возможно, вы могли бы сделать fname для всех одинаковых элементов для категории одинаковым, таким образом имя серии могло бы быть group.items[0].fname независимо от того, равно ли значение 0 или нет. - person ezanker; 02.06.2015