Q135:アプリケーションで表示画面にチェックボックスをいくつか設け、チェクボックスが選択されている場合のみ、対になっている数値入力カウンターの数字を選択するようにしたい。
Q135-1:
アプリケーションで表示画面にチェックボックスをいくつか設け、チェクボックスが選択されている場合のみ、対になっている数値入力カウンターの数字を選択するようにしたい(チェックボックスがOffの場合は選択しない)ようにしたいのですが、どのような設定を作れば可能であるかアドバイスをいただけませんか?チュートリアルなどで調べたり、またいろいろな起動メソッドで試してみましたが、なかなか上手くいきません。
A135-1:
[チェックボックスグループ]の基本的な使い方については、サンプル「チェックボックスグループ.mzax」とその説明文書がございますが、充分ではなくご不便をお掛け致しました。
簡単なサンプルを作成しましたので、ご参考になれば幸いです。
[チェックボックス]の場合には「選択の有無」、[チェックボックスグループ]の場合には「選択の有無」あるいは「選択位置」を手掛かりとして処理を行うことになります。
[チェックボックスグループ]では、工夫をすれば一箇所を選択すると他の箇所は非選択にするといった動作も可能ですが、そういったご要望がない場合には、[チェックボックス]を複数使って頂いても宜しいかと存じます。
関連ファイル:チェックボックス例.mzax
Q135-2:
チェックボックスグループを使わせてもらうことにしました。
選択位置をイベント番号に使用というのはうまい方法だと思います。
多分伺ったほうが早いと思いますので、ちょっと教えてください。チェックボックス(グループも含めて) 選択してあるものをリセットするのは、チェックボックスコンポーネントにどの起動メソッドを使えばよろしいのでしょうか?初期値に戻すなどあれば簡単なのですが0の固定値で値を設定としてどうも上手くいきません。
A135-2:
[チェックボックス]の選択状態を「無」にするには、メソッド「選択状態の有無を設定する」で「取得方法:固定値、メソッド/値:false」とします。
[チェックボックスグループ]も選択状態の設定を「false」とすることになりますが、一度に全部の選択状態を「無」にするといったメソッドはございません。
「全体の選択状態を設定する(PFObjectList)」で[false,false,false]といったリストを予め用意して頂き、引数に設定することになります。
それよりは単純に繰り返し処理で、位置指定しながら「値:false」を設定して頂いた方が、処理としても把握し易いかと存じます。
「A135-1」に掲載したサンプルファイルに選択状態を「無」にする設定を追加しましたので、ご参考になれば幸いです。
関連ファイル:チェックボックス例2.mzax
ご連絡:
やはり’false'だったのかと理解しました。残念ながらメソッド/値の列に選択肢としてTrue, falseが出てこないので、悩んでいました。MZプラットフォームに慣れてきましたが、何か工夫すると、ますます使いやすくなりそうですね。何か調べる場合、ドキュメントインデックスをひっくり返していますが、ストレートに調査内容にアクセスできず、悶々とします。研究会からいただけるアドバイス内容が索引できるHelpなどがあれば、もっと理解が早くにすすむと思いますが難しいのでしょうね。
A135-3:
メソッドの詳細についての資料には『javadoc』がございます。自動的に生成される文書ですので読みにくい感は否めませんが、『javadoc』もどうぞご参照下さい。
主なメソッドについては『コンポーネントリファレンス』の各コンポーネントのページ下部に挙げてあります。ページ上部の「クラス名」のリンクからも各コンポーネントについての『javadoc』に移動するようになっています。
どのような場合にどのメソッドを選ぶかは、アプリケーションの目的によって大きく変わる場合もあるため、なかなか全てを網羅することは難しく、大変お手数でもお問い合わせ頂くのが一番かと考えております。
「取得方法:固定値」の場合、「メソッド/値」欄にキーボードから文字を入力し、引数として設定するようになっています。
引数がboolean値の場合には「true」以外の入力をすると、自動的に「false」に変わるようになってはいるのですが(例:「あ」と入力⇒「false」に変化)、基本的にはどのデータ型でも『キーボードからの入力文字列が値として扱われる』のが「取得方法:固定値」での設定です。
引数の設定等、操作の改善については検討していきたいと存じます。
今後とも、ご意見、ご要望がございましたら、ご連絡頂ければ幸いです。
前々回の回答で
>[チェックボックスグループ]も選択状態の設定を「false」とすることになりますが、一度に全部の選択状態を「無」にするといったメソッドはございません。
と書いてしまいましたが、
[チェックボックスグループ]にはメソッド「clearSelection()」がございました。
このメソッドで全項目を非選択状態にすることができます。
大変失礼致しました。お詫びして訂正いたします。
備考:「チェックボックスグループ」の「Q&A1」にも掲載。