6

我正在为 GWT 使用 HighCharts 库,但遇到了问题。

我正在尝试这样的事情:股票图表示例。我对这个问题唯一感兴趣的是buttons里面的属性rangeSelector,我想在其中自定义按钮文本)。在 javascript 上,代码是这样的:

rangeSelector: {
            buttons: [{
                type: 'day',
                count: 3,
                text: '3dias'
            }, {
                type: 'week',
                count: 1,
                text: '1w'
            }, {
                type: 'month',
                count: 1,
                text: '1m'
            }, {
                type: 'month',
                count: 6,
                text: '6MS'
            }, {
                type: 'year',
                count: 1,
                text: '1ano'
            }, {
                type: 'all',
                text: 'All'
            }],
            selected: 3
        }

现在我尝试在 GWT 中做同样的事情,使用图表上的 setOption() 方法。但似乎没有任何效果。

我认为我遇到了麻烦,因为该buttons属性需要一组属性,而这就是我无法弄清楚如何解决的问题。

我试过的东西:

chart.setOption("/rangeSelector/buttons", 
      new String[]{"{type: 'day', count: 1, text: '1dia'}", "{type: 'day', count: 1, text: '1dia'}"});`

这是我能想到的最好的方法,它创建了两个空按钮并且没有任何操作。

任何帮助,将不胜感激。非常感谢。

更新:(2012 年 12 月 13 日)
给出接受的答案后,我需要设置按钮 witdh。为此,只需使用:

buttonTheme: {
    width: 80
}

就像是:

rangeSelector: {
                selected: 2,
                inputBoxStyle: {
                    top: '40px',
                    right: '10px'},
                buttons: [{
                    type: 'week',
                    count: 1,
                    text: '1 semana'
                }],
                buttonTheme: {
                    width: 80
                }
            }
4

1 回答 1

4

您能否尝试以下操作:

 String rangeSelectorConfig =  " {\n" +
            "                buttons: [{\n" +
            "                    type: 'day',\n" +
            "                    count: 3,\n" +
            "                    text: '3dias'\n" +
            "                }, {\n" +
            "                    type: 'week',\n" +
            "                    count: 1,\n" +
            "                    text: '1w'\n" +
            "                }]" +
            "            }" ;
 JSONValue config = JSONParser.parseLenient(rangeSelectorConfig);
 chart.setOption("/rangeSelector", config);

Chart类(在 的帮助下Configurable)不会为您解析 JSON 对象,因此代码中的按钮作为字符串文字传递给本机 HightCharts JS。

于 2012-08-29T15:30:12.370 回答