MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › エクセル連携導入(派遣管理)-2のガントチャート表示について
- このトピックは、 7 返信、 2 投稿者 です。最終更新日: 6 年, 3 ヶ月 前 MZPlatformユーザー会
-
著者投稿
-
2017年11月15日 at 10:53 PM #4929伊予研究会一般参加者
アプリケーションビルダーを新たに立ち
上げ、ガントチャート化のボタンを押すと表示期間が範囲から外れてしまい(初期の状態のまま)、エクセルデータに入力した日時まで移動するのに手間がかかります。ガントチャート化のボタンを押した時点で、現在の日時をチャートの真ん中にして表示することはできないでしょうか。よろしくお願いします。2017年11月16日 at 9:39 AM #4931MZPlatformユーザー会サイト管理者ガントチャートの「時間軸の表示開始日時を設定する(Date)」メソッドを使うことで、表示開始日時を設定できます。この引数に対して、システム情報コンポーネントの「現在時刻を取得する()」メソッドで得た現在時刻を指定することにより、表示開始日時が現在の日時に設定されます。
現在の日時をチャートの真ん中にして表示するためには、さらに以下の処理が必要になります。
(1) ガントチャートの表示期間を取得する。
(2) 現在日時から、表示期間の半分だけ前に遡った日時を計算する。
(3) ガントチャートの表示開始日時を、(2)で計算した日時に設定する。(2)の処理の作成は少々煩雑になりますので、まずは現在日時を表示開始日時(ガントチャートの左端)に設定することをお試し頂けないでしょうか。
2017年11月25日 at 8:34 PM #4939伊予研究会一般参加者現在日時を表示開始日時(ガントチャートの左端)に設定することはできました。
(1)のガントチャートの表示期間を取得するは、メソッド「時間軸の表示期間の値を取得する()」でよろしいのでしょうか?よろしくお願いします。
2017年11月27日 at 8:19 AM #4940MZPlatformユーザー会サイト管理者メソッド「時間軸の表示期間の値を取得する()」で表示期間の数値を取得し、さらに「時間軸の表示期間の単位を取得する()」で取得した単位(年、月、週など)と組み合わせることで、表示期間を取得することができます。
(2)の処理は、単位が何かによって場合分けをする必要があるため、作成が少々煩雑になります。
2018年8月7日 at 9:11 PM #5264伊予研究会一般参加者ありがとうございました。できました。
現在の日付けをチャートの真ん中にと思っていましたが、実際表示してみるともう少し左側にある方が便利でしたので、表示期間の3分の1を現在の日付けにしました。
表示単位が、年、月、週、日などと限定されていることから、添付ファイルの表を作り、検索したIDを返して分岐処理しています。その時、例えば、年の単位であればその3分の1の120を、月なら10を表示期間と掛け合わせれば処理できました。
ところで、120とか10と言った数値を直接プログラムに記載しているので、ユーザが表示期間を4分の1に設定したい場合、添付ファイルに1列を追加して入れた数値をプログラムに呼び出すこと(この数値を変数に入れたい)は可能でしょうか。適当なサンプルがありましたら、ご教示ください。
よろしくお願いします。添付ファイル:
2018年8月8日 at 8:57 AM #5266MZPlatformユーザー会サイト管理者テーブルに記入した数値を取り出して計算に使うことは可能です。以下の方法が比較的簡単かと存じます。
(1) 表からIDを検索したタイミングで数値を取得
(2) 取得した数値を整数格納変数あるいは実数格納変数へ設定
(3) 現在は固定値で数字を書き込んでいる引数を、メソッド戻り値に変更し、(2)で使った格納変数の「数値を取得する」を指定今回の件と直接関係するものではありませんが、任意の数式に数値を代入して計算するためのコンポーネントとして「関数電卓」がございます。サンプルを収録しておりますので、ご参考までにご覧いただければと存じます。
2018年8月9日 at 8:04 PM #5267伊予研究会一般参加者ありがとうございました。
ご指示のとおりで、できました。もう一点、教えて下さい。
ガントチャートのバー(添付ファイル)を右端(又は左端)にマウスでドラッグしたとき、グラフを自動でスクロールさせたいのですが、マウスのX,Y座標を求めてグラフの右端からはみ出したという判断をするには、どのようなコンポーネントを使えばよろしいのでしょうか。
自動スクロールのサンプルがございましたら、ご教示ください。よろしくお願いします。
添付ファイル:
2018年8月10日 at 9:50 AM #5269MZPlatformユーザー会サイト管理者以下の手順でスクロールさせることが可能です。
(1) ガントチャートのバー(タスク)をマウス操作したときに、ガントチャートの「getTaskStart(int,int)」、「getTaskEnd(int,int)」により、操作したタスク(選択したタスク)の開始日時、終了日時を取得。
(2) タスク開始日時<ガントチャート表示開始日時であれば、ガントチャートの表示開始日時をタスク開始日時に設定。
(3) ガントチャート表示終了日時(表示開始日時+表示期間)<タスク終了日時であれば、ガントチャートの表示開始日時を(タスク終了日時-表示期間)に設定。ご参考までにサンプルを用意しましたので、ご覧ください。なお、サンプルでは、(3)での計算回数を減らすため、「表示開始日時<(タスク終了日時-表示期間)」の判定を行っています。
添付ファイル:
-
著者投稿
- このトピックに返信するには、ログインしてください。