MZ Platformとは › 掲示板 › MZプラットフォームユーザー会掲示板 › チェックボックスグループの項目数について
-
投稿者投稿
-
2024年7月18日 1:29 PM #7624koni参加者
いつもお世話になっております。
チェックボックスグループのラベル名を「繰り返し制御(FOR)」によって設定していますが、「ラベル名の項目の数」が増えた時に『インデックス7は範囲外です。』というエラーが発生します。
「チェックボックスグループ」と「項目の数」が合っていないエラーだと思いますが、「チェックボックスグループ」のインデックスの数を「項目の数」に自動的に合わせるにはどのようにすればよいでしょうか。
よろしくお願いいたします。
2024年7月18日 2:19 PM #7625MZPlatformユーザー会キーマスターご連絡ありがとうございます。
質問がございます。
[繰り返し制御(FOR)]のメソッド「繰り返し処理を実行する」の「終了値」および「終了値を含めるかどうか」の設定はどのようになっているでしょうか。例えば3つの項目がある場合、開始値を固定値「0」とし開始値を含めるかどうかを「true」、終了値は[チェックボックスグループ]の「項目数を取得」し、終了値は含めないように「false」とすると、位置番号「0,1,2」のチェックボックスの項目について繰り返し処理を行えることになります。位置番号は0から始まるので、項目数と位置番号は値が違います。
終了値を含めるかの設定をするためには、メソッド「繰り返し処理を実行する(int,boolean,int,boolean,int)」は5つ引数欄があるものをご使用ください。
繰り返し処理を行う都度項目数を取得するので、直前までの項目数の増減に対応します。
もし上記設定でもエラーとなるとすると、繰り返し処理のタイミングが適切でない、別なコンポーネントの項目数を誤って取得している等が考えられるかと思います。上記ご確認いただいても改善しない場合は、お手数ですが再度ご連絡いただければ幸いです。
よろしくお願い申し上げます。2024年7月18日 3:55 PM #7626koni参加者ご回答ありがとうございます。
[繰り返し制御(FOR)]についてですが、メソッド「繰り返し処理を実行する(int,boolean,int,boolean,int)」になっておりました。1つ目の投稿について補足させていただきます。
設定するラベル名はテーブルに保存しています。
例としてテーブル数を増やした時に、チェックボックスグループの要素数とテーブル数が合わずに『インデックス7が範囲外です。』のエラーが発生します。
[繰り返し制御(FOR)]の終了値はテーブル行数としています。今まではチェックボックスグループの要素は「右クリック⇒要素⇒編集」で項目数を設定していました。
コンポーネント上で項目数を設定できればと検討しましたが、わかりませんでした。参考として、該当箇所のファイルを添付させていただきます。
実行するとエラーが発生する状態ですので、良い方法があれば教えていただけますでしょうか。よろしくお願いいたします。
添付ファイル:
2024年7月19日 11:57 AM #7628MZPlatformユーザー会キーマスターご連絡ありがとうございます。
チェックボックスの項目数の変更が頻繁に起こるのであれば、終了時にチェックボックスの項目を削除してしまい、起動時に[テーブル]の行数に合わせて項目を追加することが考えられます。
このとき使用するメソッドは「指定位置へ項目を追加する(int)」、「指定位置の項目を削除する(int)」です。
ただし、チェックボックスの0番目の項目は削除できませんので、注意が必要です。
添付のファイルでは追加、削除とも[繰り返し制御(FOR)]で行っていますが、0番目の項目の追加や削除を行わないので、引数や処理が少しだけ複雑になっています。ファイルをご覧いただき、ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡いただければ幸いです。よろしくお願い申し上げます。
添付ファイル:
2024年7月19日 3:28 PM #7630koni参加者ご回答ありがとうございます。
添付いただいたファイルを参考にして、改善することができました。先日のマスタ処理で変更した項目が、チェックボックスグループにも関連しており、今回の処理が必要となりました。
今後ともよろしくお願いいたします。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。