Q25:ガントチャートのタスク名表示について
Q25-1:
ガントチャートでタスク名を表示するとき、表示期間を長くしたり、開始と終了の間隔が短くなると、タスク名が重なってしまい見づらくなってしまいます。開始と終了の時間が一定以上のものだけタスク名を表示できるようにしたいのですが、タスク名の表示可否は、一括でしか設定できないようです。なにか、解決する方法があるでしょうか?
A25-1:
現在のところ簡単に一括して設定する方法はございません。
考えられる方法としましては、一旦タスク名をテーブルデータ等で全部設定した後、開始と終了時間の間隔を判定し、「メソッド:タスク名を位置指定で設定する(String,int,int)」で、間隔の短いタスクにだけ個別にタスク名を「空文字」で設定するといった方法になるかと存じます。
またタスク名のフォントサイズを、これも個々ではなく全体の設定となりますが、ガントチャートを右クリックして出てくるポップアップメニューから設定することができます。
Q25-2:
「メソッド:タスク名を位置指定で設定する(String,int,int)」の第一引数のstringがタスク名であることは分かるのですが、第2引数と第3引数のintは、何を指しているのでしょうか?ガントチャートテーブルの第一引数の開始時間と終了時間を指していると考えてよいのでしょうか?
ガントチャートテーブルが例えば、次のようになっている時に、
|
切削 |
切削 |
切断 |
切断 |
切断 |
切断 |
s9999 |
10/01/13 10:00 |
10/01/13 11:00 |
|
|
|
|
y1234 |
|
|
10/01/13 9:00 |
10/01/13 9:30 |
10/01/13 11:00 |
10/01/13 14:30 |
ロット番号y1234の最初の工程(10/01/13 9:00〜10/01/13 9:30)のタスク名を旋盤に変更するには、
とすればよいのでしょうか?
A25-2:
1.「メソッド:タスク名を位置指定で設定する(String,int,int)」の引数は
引数0:設定するタスク名
引数1:作業項目インデックス
引数2:系列インデックス
となります。
各コンポーネントの、主なメソッドの表が『コンポーネントリファレンス』に、メソッドの詳細が『Javadoc』にございますが、お問い合わせ頂いたメソッドについてはどちらの資料でも説明が充分でなく、お手数をお掛けいたしました。
2.現在データベースからのテーブルデータをガントチャート化なさる際に、[グラフデータ作成]複合コンポーネントをお使いになっているかと存じます。
[グラフデータ作成]からは
@「ガントチャートタスク名テーブルの取得()」
A「ガントチャートテーブルの取得()」
B「ガントチャート用に分類したテーブルの取得()」
ができます。
(@とAは[ガントチャート]からも取得できます)
宜しければ新しく[テーブル]コンポーネントを追加し設定してご覧下さい。
タスク名テーブルは、行数が作業項目数と、列数が系列数と同じになっています。
例えばタスク名テーブルの「0行目、0列目」のセルの値が「作業項目インデックス:0、系列インデックス:0」のタスクのタスク名として設定されています。
作業項目インデックスは[ガントチャート]グラフで表示されている作業項目ラベルの順と同じと考えて頂いて結構ですが、系列インデックスについては、凡例は重複データの自動調整を行っていますので、必ずしも凡例ラベルと同順とは限りません。
ご連絡頂いた例の場合、系列数は「3」ですが、凡例のラベルは「切削、切断」の2つになります。
[グラフデータ作成]複合コンポーネント内では[分類テーブル作成]コンポーネントによって、グラフ用のテーブルデータを分類しています。
[分類テーブル作成]や「ガントチャート用に分類したテーブル」を利用した処理は『エクセル連携チュートリアル』で紹介しています。処理の目的が違い、判り難いところもあるかと存じますが、宜しければご参照下さい。