highcharts动态更改导出选项

highcharts动态更改导出选项,highcharts,Highcharts,我有如下图表选项: 'chart' : { 'defaultSeriesType' : 'bar', 'renderTo' : QIS.WERM.CcySpotValuationContent.LINE_CHART_AREA_ID_ }, 'title' : { 'text' : title }, 'exporting':{ 'buttons': { 'contextButton': { 'sym

我有如下图表选项:

'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条件吗?我该怎么做


谢谢。

您不想在默认的图表对象中进行操作,因为它凌乱不堪,不适合编写有组织的代码。找出默认选项并将其放置在图表对象中。因此,如果默认情况下启用导出选项,那么您的代码如下所示:

'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() {}
        }
    }
}
完成后,参考图表对象并在定义之外操作选项。您可以使用API中的方法,也可以像处理任何其他对象一样对其进行操作:

if(something){
var chart = $('#container').highcharts();
chart.options.exporting.enabled = false;
}

您可以使用API设置如下导出选项:

您不想在默认图表对象中进行操作,因为它凌乱不适合组织代码。找出默认选项并将其放置在图表对象中。因此,如果默认情况下启用导出选项,那么您的代码如下所示:

'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() {}
        }
    }
}
var exportingOPT = {};

    if(condition)
       exportingOPT = {
         param: true
       }
    else
       exportingOPT = {
         param: false
       }
完成后,参考图表对象并在定义之外操作选项。您可以使用API中的方法,也可以像处理任何其他对象一样对其进行操作:

if(something){
var chart = $('#container').highcharts();
chart.options.exporting.enabled = false;
}

您可以使用API设置如下导出选项:

在JSON内部这是不可能的,但您可以使用以下内容:

var exportingOPT = {};

    if(condition)
       exportingOPT = {
         param: true
       }
    else
       exportingOPT = {
         param: false
       }
然后在Highcharts的图表配置中使用:

chartOptions:exporingOPT

在JSON内部,这是不可能的,但您可以使用如下内容:

var exportingOPT = {};

    if(condition)
       exportingOPT = {
         param: true
       }
    else
       exportingOPT = {
         param: false
       }
然后在Highcharts的图表配置中使用:

chartOptions:exporingOPT

您很快就能实现您所需要的,简单的改变:

var ex;
if(something){
  ex = {
    'buttons': {
        'contextButton': {      
            'symbol':'url(/fxqis/public/images/excel.gif)',
            'onclick': function() {}
            }
    }
  }
}
else{
  ex = {
    'enabled':false
  }
} 
然后在创建图表时使用:

 exporting: ex

这就足够了。

你很快就能实现你所需要的,简单的改变:

var ex;
if(something){
  ex = {
    'buttons': {
        'contextButton': {      
            'symbol':'url(/fxqis/public/images/excel.gif)',
            'onclick': function() {}
            }
    }
  }
}
else{
  ex = {
    'enabled':false
  }
} 
然后在创建图表时使用:

 exporting: ex

这就足够了。

从5.0.0版开始,您只需执行以下操作: 更新图表的任何选项

 chart.update({
        exporting: {
            buttons: {
                contextButton: {
                    text: 'New Dynamic Text'
                }
            }
        }
    });

从5.0.0版开始,您只需执行以下操作: 更新图表的任何选项

 chart.update({
        exporting: {
            buttons: {
                contextButton: {
                    text: 'New Dynamic Text'
                }
            }
        }
    });

是的,但这取决于如何为highcharts定义生成javascript。我们根据所讨论的数据会话的params/options/etc生成javascript服务器端,然后将js推送到.NET注册客户端脚本块代码集中的页面。是的,但这取决于如何生成highcharts定义的javascript。我们根据所讨论的数据会话的params/options/etc生成javascript服务器端,然后将js推送到.NET注册客户端脚本块代码集中的页面。