Q23:Lesson11のガントチャートに修正を加えて、複数台ある機器の稼動状況を瞬時に把握できるガントチャートを作成したい。
Q23-1:
Lesson11のガントチャートに修正を加えて複数台ある機器の稼動状況を瞬時に把握できるガントチャートを作成したいと考えています。テキストではガントチャートの図の横に作業者の名前が表示されるようになっています。その名前をチャートの横に表示するのではなくてチャート中の横棒の上に上書きされるようにできないのでしょうか?
すなわち、チャートの横の名前の欄を見なくてもチャート自体を見れば誰が使用しているかが判断できるように修正は可能でしょうか?
A23-1:
[ガントチャート]のタスクの上にはタスク名として文字を表示することができます。
[ガントチャート]の上で右クリック>[ガントチャート]>[タスク]>[タスク名] >[表示する]とし、タスクの上で右クリック>[ガントチャート]>[タスク]>[タスクデータ]でタスク名を設定できます。
但し、手動でタスク名を設定しても画面を表示し直すと消えてしまうため、タスク名のデータテーブルを用意して頂く方が宜しいかと存じます。
タスク名のテーブルデータとは、関連ファイル「Lesson11(タスク名).mzax」上にある様なものですが、これを一々手動で作っていては非常に手間が掛かりますので、以下の方法が考えられます。
1.MZPlatform Ver.2.4以降を使用の場合
[ガントチャート]のメソッド「setRecoedTable(PFObjectTable)」を使いデータを設定する。
設定するテーブルの形式は
0列目:項目名
1列目:系列名
2列目:開始時刻
3列名:終了時刻
4列目(任意):タスク名
で、データは縦一列に入力する(=Lesson11とは違う形式)。
タスク名を設定しない場合には、4列目は無くて良い。
2.グラフ化複合コンポーネントを使用する
サンプルファイル「MZPlatform2.x¥AP_DATA\Sample\グラフ化.mzax」の例のように[グラフデータ作成]複合コンポーネントを使用して、タスク名のテーブルを作成、設定することができます。
サンプルファイルの簡単な説明書もございます。さらに『エクセル連携導入チュートリアル』の(応用)P.2〜6でも使用していますので、宜しければご参照下さい。
複合コンポーネントは、ビルダー上で右クリック>
[複合コンポーネント追加]>[グラフ]>[グラフ化モジュール]と辿って追加します。
1.のメソッドを使用の場合には、簡単なグラフとテーブルの連動が実現できますが、2.の複合コンポーネントを使った場合には、コンポーネント同士をLesson11のように繋いだだけでは、データの連動はできません。
関連ファイル:Lesson11(タスク名).mzax、Lesson11(RecordTable).mzax(←こちらはver.2.4よりも古いバージョンで開くと、エラーが出ます)
備考:「アプリケーション開発チュートリアル(実践編)」の「Q&A19」にも掲載。