1

この例http://jsfiddle.net/EgzfS/2/に基づいて、ドリルダウン付きの積み上げ棒グラフを作成しました。

http://jsfiddle.net/uemit/9CJHq/

しかし、行き詰まったのは次の質問でした。一部のカテゴリにドリルダウンを許可し、他のカテゴリにはドリルダウンを許可しないようにするにはどうすればよいですか?

この例では、すべてのカテゴリをクリックすると、従業員ごとに区切られた個々の日の目標と売上が表示されます。しかし、金曜日にその日の目標と売上がありますが、従業員ベースの目標と売上はありません。その日をチャートに含めて、その日のバーのクリックを無効にするにはどうすればよいですか?

events: {
    click: function () {
        var drilldown = this.drilldown;
        if (drilldown) { // drill down
            setChart([drilldown.name1, drilldown.name2], drilldown.categories, [drilldown.data1, drilldown.data2]);
        } else { // restore
            setChart([name1, name2], categories1, [data1, data2]);
        }
    }
}

ご協力ありがとうございました。

ウエム

[アップデート]

Thx to Pawel、私は今それを機能させました。更新された例は次のとおりです。

http://jsfiddle.net/uemit/9CJHq/3/

4

1 に答える 1

1

まず、データがないデータからドリルダウンを削除する必要があります (明らかなことです)。次に、空のようないくつかのプロパティを追加できます。

{
    y: 1355,
    empty: true
} 

その後、クリックイベントで、ドリルダウンが必要な場合は、チェックを追加できます。

                        click: function () {
                            var drilldown = this.drilldown,
                                empty = this.empty;
                            if (drilldown) { // drill down
                                setChart([drilldown.name1, drilldown.name2], drilldown.categories, [drilldown.data1, drilldown.data2]);
                            } else if(empty) {
                                //do nothing
                                return ;
                            } else { // restore
                                setChart([name1, name2], categories1, [data1, data2]);
                            }
                        }

実際の例: http://jsfiddle.net/9CJHq/2/

于 2013-02-20T12:01:52.833 に答える