作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
テーブルサブセットフィルタで検索後の結果(選択データ)を
再度テーブルサブセットフィルタの全体データに設定し,
その後にテーブルサブセットフィルタから選択データを取得しテーブルに
設定しておりますが,
最初の選択データをどこかに確保しておき,テーブルに設定する
ようにしますと,お望みの処理になると存じます.MZPlatformユーザー会サイト管理者テキストフィールドに一文字入力するごとに,
データ更新イベントが発生し,毎回データベースの検索が実行され,
反応が悪くなってしまうということと理解致しました.幾つか改善策が考えられますが,例えば,
一文字ではなく複数文字入力された際に検索を実行するように
処理を修正されてはいかがでしょうか.文字列格納変数にテキストフィールドの文字列を設定し,
メソッド「文字列の長さを取得する()」を実行することにより,
文字数を取得することができます.
その文字数を比較演算コンポーネントを用いて,指定の文字数以上
であることを判定し,処理を実行します.また,他の方法としましては,ある程度文字列が入力され,
「Enter」キーが押された場合のみ検索するという方法も考えられます.テキストフィールドのデータ更新イベントではなく,
アクションイベントを使用し,イベント番号0を指定することにより,
「Enter」キーが押された場合のみ,処理を実行することが可能です.以上,ご検討をよろしくお願い申し上げます.
MZPlatformユーザー会サイト管理者当方で試してみましたが,状況を再現できませんでした.
お使いのSQL文,テーブル,または,MZプラットフォームからの検索の
手順について,もう少し情報をご連絡いただけますでしょうか.MySQLでdate(フィールド名),time(フィールド名)を使用し,
例えば,Select date(フィールド名), time(フィールド名) from テーブル名
というSQL文を実行した場合,検索結果として,
MySQLのDATE型(日付のみ),TIME型(時刻のみ)のテーブルが
返ってきます.MZプラットフォームでこのテーブルを受け取った際には,
両方の列がDate型(日付型=日付と時刻の両方を含む)に自動的に変換された
テーブルデータが取得できるはずです.添付いただきましたアプリケーション画面の画像を拝見しますと,
文字列データ(java.lang.String)がバイナリ型等([B)の列に設定できない
とのエラーが表示されております.
通常,上述のように文字列型ではなく,Date型(日付型)のデータとして
取得されるはずです.お手数をおかけし申し訳ございませんが,
作成中のアプリケーションにつきまして,特にフィールドの型に関係する
処理についてご確認いただき,再度,ご連絡いただければと存じます.MZPlatformユーザー会サイト管理者テキストフィールド等のコンポーネントはカーソルが当たった際
または消失した際にフォーカスイベントが発生します.そのフォーカスイベント発生時の処理に,テキストフィールド等に
背景色を設定するメソッドを実行するよう定義すると,ご質問の
処理が実現可能です.背景色設定のメソッドは「背景色を設定する(Color)」です.
テキストフィールド以外のコンポーネントで日本語のメソッド名が
設定されていないコンポーネントがありますが,
その場合は「setBackground(Color)」を用います.引数のColor値は,他のコンポーネントから取得し設定することも可能ですが,
取得方法「固定値」として文字列(RED,WHITEなど)で直接設定する
ことも可能です.また,前述のフォーカスイベントには,フォーカス取得時(当たった時),
フォーカス消失時に,それぞれ,イベント番号1,0が設定されています.
イベント番号で設定色を区別することにより,カーソルが当たった際,
消失した際の色を別々に設定することが可能です.ご参考のため,サンプルアプリケーションを作成しましたので,
詳細は添付ファイルをアプリケーションビルダーでロードしご確認ください.添付ファイル:
MZPlatformユーザー会サイト管理者こちらは情報共有のためのご投稿と解釈してよろしいでしょうか?
ご協力ありがとうございます。右側の注意事項にありますが、ファイルを添付する場合は圧縮したZIPファイルとしてアップロードをお願いします。
MZPlatformユーザー会サイト管理者テーブルにはマウスモーションイベントが定義されていますので、これが発生したときにマウスカーソルの位置の行を選択する処理を呼び出すと実現できます。
準備としては、テーブルを行選択モードにしておく必要があります。実行(設定可)で実行した時にテーブル上で表示できるポップアップメニューで、テーブル>選択方法>行選択を選択してください。
次に、対象となるテーブルにマウスモーションイベントを追加し、同じテーブルのメソッドgetRowIndexByLocationY(int)を呼び出します。引数はイベント内包のY座標とします。
続いて、同じテーブルのメソッド「選択行を指定する(int,int)」を呼び出して、引数は両方ともメソッド処理結果として上記のメソッドを指定します。最後に、マウスモーションイベントの2つのメソッド起動をイベント番号指定として、30番のテーブル上でマウスポインタが移動したときとします。
以上で実現できると思いますが、想定する結果と異なる場合は再度お問い合わせください。
上記の方法で作成したサンプルアプリケーションを添付しておきます。添付ファイル:
MZPlatformユーザー会サイト管理者残念ながら、MZの標準機能としてFAX送信は提供しておりません。
以前お答えしたPDFの印刷のように、お使いの環境でコマンドラインからFAX送信が実行できれば、MZからも実行することができるかもしれません。こちらの環境ではすぐに試せる状況ではありませんが、調べてみたところ、Windowsの標準FAX機能でコマンドラインからの実行ができるという情報はないようです。プリンタのように印刷実行して送信することができるようですが、送信用の情報を入力するダイアログが表示されてしまうようなので、ご希望の動作にならないかもしれません。
一方、Windowsの標準機能ではなく市販のソフトウェアやFAXサーバなどで、コマンドラインからの実行や他のプログラムからのFAX送信が可能なものがあれば実現できる可能性がありますので、必要に応じてお調べください。
MZPlatformユーザー会サイト管理者最も簡単な方法としては、共有フォルダ等に画像ファイルを格納しておいて、そのパス文字列をDBに登録することが挙げられます。
最近産総研で試した方法としては、画像データを文字列に変換し、その文字列をDBに登録することが挙げられます。画像データと文字列の相互変換については、今年度の次回リリースで画像データ格納変数にメソッドが追加される予定です。この機能をお試しいただくための追加JARファイルとサンプルアプリケーションを添付しますので、必要に応じてお試しください。
サンプルには画像と文字列の相互変換までしか機能がありませんが、変換後の文字列をDBに登録して参照するところまではこちらで確認済みです。DBはMySQLで試しておりまして、DB側の型をlongtextにしました。
なお、サイズが大きい画像データの文字列をDBに登録した場合、それらが多数出力されるクエリを実行すると、当然ながら処理が重くなりますのでご注意ください。
添付ファイル:
MZPlatformユーザー会サイト管理者MZの標準機能ではありませんが、対象となるMZアプリケーションが動作するWindows PCにAdobe Readerがインストールされていて、かつ標準のプリンタが設定されていれば、下記の方法で実現できる場合があります。
Adobe ReaderはWindows上でコマンドラインの起動オプションが現時点では利用可能で、それを利用します。(Adobeによる情報)
まずはお使いのPCでコマンドプロンプトから下記のコマンドで印刷が実行できることをご確認ください。> “C:\…\AcroRd32.exe” /h /t “C:\Users\…\…pdf”
なお、exeのパスやファイルのパスは環境に応じて適切な指定をお願いします。
こちらで試したWindows8.1のPCでは、exeのパスは下記となっておりました。
C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe
パス名に空白が含まれている場合のために、パスは””で囲う方が良いでしょう。上記が動作した場合、[外部プログラム通信]コンポーネントで実行できると思います。
コマンドプロンプトで入力した文字列をそのまま通信先プログラムとして設定して起動します。ファイル名を状況に応じて変える場合は、[文字列格納変数]コンポーネントを用いた文字列の連結を利用します。詳細は添付ファイルをダウンロードして解凍したアプリケーションをご覧ください。
MZPlatformユーザー会サイト管理者エクセルシートにつきましては,直接的な印刷には対応いたしておりません.
MZプラットフォームを用いてのエクセルシートの印刷には,
主に,Excelファイルアクセスコンポーネントと帳票コンポーネント
を使用いたします.
Excelファイルアクセスコンポーネントを用いて,
該当エクセルシートから該当データを取得して
テーブルデータを作成し,そのデータを帳票コンポーネントに
渡して印刷する形となります.
Excelファイルアクセスコンポーネントにつきましては,
サンプル (Excelファイルアクセス)を,帳票につきましては,
サンプル (帳票)等をご参照ください. -
著者投稿