6

GWT用のHighChartsライブラリを使用していますが、問題が発生しています。

私は次のようなことを試みています:株価チャートの例。この質問で私が興味を持っているのは、ボタンのテキストをカスタマイズしたいbuttons内部のプロパティだけです。rangeSelectorjavascriptでは、コードは次のようになります。

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
        }

今、私はチャートのメソッドsetOption()を使用して、GWTで同じことをしようとしています。しかし、何も機能していないようです。

buttonsプロパティにはプロパティの配列が必要なため、問題が発生していると思います。それを解決する方法がわかりません。

私が試したこと:

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

これは私が思いついた最高のもので、2つの空のボタンを作成し、アクションはありません。

どんな助けでもいただければ幸いです。どうもありがとうございます。

更新:(2012年12月13日)
受け入れられた回答が与えられた後、私はボタンを設定する必要がありました。そのためには、次を使用します。

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オブジェクトを解析しないため、コード内のボタンは文字列リテラルとしてネイティブのHightChartsJSに渡されました。

于 2012-08-29T15:30:12.370 に答える