Q19:@ガントチャートでの項目色を、デフォルトの状態の色ではなく、個別に指定したい。
Aガントチャートに表示された帯をクリックして、その項目に対応するテーブルデータを取得したい
Q19-1:
@ガントチャートでの項目色指定
デフォルトの状態の色ではなく、個別に色をしていたいと思っております。どの様にすれば色を変えることが出来ますでしょうか?
Aガントチャートでの項目クリックイベント
ガントチャートに表示された帯をクリックして、その項目に対応するテーブルデータを取得したいと思っています。可能でしょうか?
A19-1:
@ガントチャートでの項目色指定
「メソッド:指定された系列の色を設定する(Color,int)」で個別に指定することができます。引数Colorは固定値で「CYAN」等色名指定、あるいは「java.awt.Color[r=255,g=0,b=0] という形式で指定できます。
一括では[色格納変数]や[リスト]等を使って色のリストを作り、「全系列の色を設定する(PFObjectList)」で設定して頂くと宜しいかと思います。
一旦設定した色は保持されます。
「initializeChartColors()」でデフォルトの色リストに戻ります。
なお、以前は凡例は同じ項目に同系列名のデータがある場合、凡例に二重に表示されることがありましたが、MZPlatform 2.3からは系列色、系列名とも同じ場合、凡例は複数表示されないようになりました。
Aガントチャートでの項目クリックイベント
ガントチャートの帯をクリックすると「データ選択イベント」が発生します。
[ガントチャート]のメソッド:
「現在選択されている作業項目のインデックスを取得する()」
「現在選択されている系列のインデックスを取得する()」
で得たインデックスを使って、
「getTaskStart(int,int)」
「getTaskEnd(int,int)」で
開始時刻・終了時刻を取得することができます。
また、[分類テーブル作成]コンポーネント、あるいは[グラフデータ作成]複合コンポーネントをお使いの場合には、項目と系列で整理された「ガントチャート用に分類したテーブル」が一旦できているはずです。
このテーブルからもインデックスを指定して、データを取得することになります。
詳しくは、『エクセル連携導入チュートリアル』P34〜の分類テーブルの説明、および後半(応用)P7〜をご覧下さい。
デフォルトのガントチャート用テーブル(2列1組で開始・終了時刻が並んだテーブル)をデータとしてお使いの場合は、
「現在選択されている系列のインデックス(オブジェクトテーブル対応)を取得する()」をお試し下さい。