我有如下图表选项:
'chart' : {
'defaultSeriesType' : 'bar',
'renderTo' : QIS.WERM.CcySpotValuationContent.LINE_CHART_AREA_ID_
},
'title' : {
'text' : title
},
'exporting':{
'buttons': {
'contextButton': {
'symbol':'url(/fxqis/public/images/excel.gif)',
'onclick': function() {}
}
}
}
但我想要的是动态使用不同的导出选项。如下:
if(something){
'exporting':{
'buttons': {
'contextButton': {
'symbol':'url(/fxqis/public/images/excel.gif)',
'onclick': function() {}
}
}
}
}
else{
'exporting':{
'enabled':false
}
}
我可以在图表选项中添加这样的if / else条件吗?我怎么能这样做?
感谢。
答案 0 :(得分:3)
从5.0.0版开始,你可以简单地做到: (更新图表的任何选项)
chart.update({
exporting: {
buttons: {
contextButton: {
text: 'New Dynamic Text'
}
}
}
});
答案 1 :(得分:1)
您不希望在默认图表对象中进行操作(对于有组织的代码而言,它很混乱)。找出您的默认选项并将其放在图表对象中。因此,如果默认情况下启用导出选项,则代码如下:
'chart' : {
'defaultSeriesType' : 'bar',
'renderTo' : QIS.WERM.CcySpotValuationContent.LINE_CHART_AREA_ID_
},
'title' : {
'text' : title
},
'exporting':{
'buttons': {
'contextButton': {
'symbol':'url(/fxqis/public/images/excel.gif)',
'onclick': function() {}
}
}
}
完成后,请参考图表对象并操作定义的OUTSIDE选项。您可以使用API中找到的方法,或者像执行任何其他对象一样对其进行操作:
if(something){
var chart = $('#container').highcharts();
chart.options.exporting.enabled = false;
}
您可以使用API设置导出选项,如下所示:http://api.highcharts.com/highcharts#Chart.exportChart()
答案 2 :(得分:0)
在JSON内部是不可能的,但你可以使用这样的东西:
var exportingOPT = {};
if(condition)
exportingOPT = {
param: true
}
else
exportingOPT = {
param: false
}
然后在Highcharts的图表配置中使用:
chartOptions:exporingOPT
答案 3 :(得分:0)
你真的很接近你所需要的,简单的改变:
var ex;
if(something){
ex = {
'buttons': {
'contextButton': {
'symbol':'url(/fxqis/public/images/excel.gif)',
'onclick': function() {}
}
}
}
}
else{
ex = {
'enabled':false
}
}
然后在创建图表时使用:
exporting: ex
这应该足够了。