作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
対象となるセルの位置が固定であれば、添付のように列位置と行位置の判定後に、選択方法の変更を実行すれば可能と思います。また、添付では起動しない状態にしてありますが、セルの背景色などで判定することも可能です。
選択方法の変更は、テーブルの日本語化されていないメソッドでsetRowSelectionAllowed(true)とsetColumnSelectionAllowed(false)を実行すると行選択に、setRowSelectionAllowed(true)とsetColumnSelectionAllowed(true)を実行するとセル選択になります。
なお、行選択の状態で、対象となるセルの行がすでに選択状態の場合、そのセルを選択してもデータ選択イベントが発生しませんのでご注意ください。
MZPlatformユーザー会サイト管理者2回目の回答で書いたように、情報を何かに保存して、その情報をもとに表示を更新する処理を定義してください。これ以上の具体的な実現方法はお答えしかねますので、回り道でもチュートリアルやサンプルをご覧いただき、使えそうな方法をご自身でお探しください。
MZPlatformユーザー会サイト管理者Excelファイルを使用する場合は、インストールされたサンプルの中に「Excelファイルアクセス」がありますので、その中で使用しているコンポーネントを用いてファイルの入出力は可能です。
しかし、単純に日付と文字列の組み合わせを扱うのであれば、CSVファイルをお勧めします。こちらもサンプルに「CSV入出力」がありますのでご覧ください。
CSVファイルを読み込むとテーブルデータが得られます。Excelファイルを読み込む場合も同じようなテーブルデータを作成します。
例えば、表示しようとしている年月に関して、対象とする年月日をテーブルデータから探して、その文字列を表示するということが考えられます。
MZPlatformユーザー会サイト管理者残念ながら、この形式の組み合わせはできません。「系列グラフ」では、各系列ごとに各項目のデータが1つだけに限定されます。
MZPlatformユーザー会サイト管理者おそらく入力した情報を直接テキストフィールドに書き込んでいると想像しますが、ご希望の処理を実現するためには入力した情報を一度何かに格納して、その情報全体に対して表示年月日に合わせて画面を更新するように処理を作成する必要があります。情報を格納する何かについては、例えば日付と内容を組にしたテーブルデータが挙げられます。また、実用上はMZアプリがメモリ上で扱っているデータをCSVファイルやDBに保存するなどの処理が必要となります。いずれにしろ、年月日と連動して予定を表示することは可能です。
MZPlatformユーザー会サイト管理者MZの「カレンダー」コンポーネントは、日時の計算を実施する部品になります。一方、日時を画面で選択する場合は、「日時選択」ダイアログコンポーネントを用いますが、こちらはカスタマイズの機能が限られており、表示を自由に変更することはできません。
ご希望のような表示を実現するためには、壁掛けカレンダーと同様の表示となるように「ラベル」や「テキストエリア」を適切に並べて配置し、計算は「カレンダー」コンポーネントを用いれば実現可能とは思いますが、かなり難易度は高そうです。参考までに、「日時選択」の機能をコンポーネントの組み合わせで実現してカスタマイズ可能にしたサンプルを添付します。添付のZIPファイルを展開してMZAXファイルをビルダーで開いてご確認ください。
なお、現在はGoogleカレンダーとの連携機能がございません。
添付ファイル:
MZPlatformユーザー会サイト管理者フレームを表示した直後に、対象となるテーブルのメソッド「選択セルに入力フォーカスを設定する()」を起動してみてください。選択セルがなければ、EnterキーやTabキーを押すと左上からフォーカスが移動を開始します。開始位置を指定したければ、上記のメソッドの前に「選択行を指定する(int,int)」と「選択列を指定する(int,int)」を呼び出していただく感じになります。以上でご希望の処理になるかご確認いただけますでしょうか。
MZPlatformユーザー会サイト管理者たいへん恐縮ですが、新たにご質問をする場合は新規トピックの作成をお願いします。
MZPlatformユーザー会サイト管理者たいへん恐縮ですが、ご質問をする際にはご自身がどのような操作を実施して、その結果どのような問題が生じたかを具体的かつ簡潔にお書きいただかないと、お答えすることができません。
現在の文面からすると、エクセルを編集して保存しただけであれば、MZとは無関係な問題とも受け取れます。
MZPlatformユーザー会サイト管理者ファイルの添付ありがとうございます。こちらでも同様の症状が確認できました。
どちらかというと、mzaxファイルとして保存するときにエラーが発生して、mzaxファイルとして不完全な状態になっていることが原因で、不完全なmzaxファイルを開いてエラーが発生している状況のようです。
mzaxファイルとして保存するときのエラーについては、ID:246のGUIのテーブル「受注金額」を出力する時点でエラーが発生しています。このテーブルの最終列の型が不正になっていてテーブルデータの削除もできなくなっていることが原因と思われます。実行設定可でこのテーブルを表示して最終列の列型を「整数」に変更するとデータの削除が可能になります。
最終列の列型が不正になっている原因については、ID:239のボタン「受注金額」を押したときのアクションイベント処理の中で、6番目に受注金額テーブルに列を追加していますが、「int」では正しい指定ではありません。「Integer」と入力して「java.lang.Integer」と表示された状態が正しい指定となります。
以上、ご確認いただけますでしょうか。
なお、添付のアプリについては誰からも見られる状態になっておりますので、必要に応じて削除していただいた方が良いと思います。削除できなければこちらで削除しますのでその旨お知らせください。
-
著者投稿