テーブルコントロールのチェックボックスを一括変更
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
いつも参考にさせてもらっています。よろしくお願いいたします。
さて、題名についてですが・・
テーブルコントロール内の項目にチェックボックスを配置しました。
クリックにて、チェックを入れたり外したりできるようになっています。
それとは別に、テーブルコントロールの最上部のラベルにもチェックボックスを配置して、
このチェックボックスをチェックありにすると、明細のチェックボックスがすべてチェックになる。
このチェックボックスをチェックなしにすると、明細のチェックボックスがすべてチェックなしになる。
という動作を行いたいと思っています。
サブタスクにてラベル上のチェックボックスの値をパラメタでもらい
明細のデータに値を更新していきました。
そうしたところ、画面上の明細についてフォーカスが当たっていた
行のみチェックボックスの値が変わりました。
全ての行のチェックボックスを制御することはできないのでしょうか。
よろしくお願いいたします。
さて、題名についてですが・・
テーブルコントロール内の項目にチェックボックスを配置しました。
クリックにて、チェックを入れたり外したりできるようになっています。
それとは別に、テーブルコントロールの最上部のラベルにもチェックボックスを配置して、
このチェックボックスをチェックありにすると、明細のチェックボックスがすべてチェックになる。
このチェックボックスをチェックなしにすると、明細のチェックボックスがすべてチェックなしになる。
という動作を行いたいと思っています。
サブタスクにてラベル上のチェックボックスの値をパラメタでもらい
明細のデータに値を更新していきました。
そうしたところ、画面上の明細についてフォーカスが当たっていた
行のみチェックボックスの値が変わりました。
全ての行のチェックボックスを制御することはできないのでしょうか。
よろしくお願いいたします。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
サブタスクは、バッチタスクでしょうか?
その一括チェックボックスのV=項目 変更イベントから
そのデータをメインソースにして、値の書き換えを行う
バッチタスクを呼ぶといいと思います。
複数件、間違いなく書き換えを行っているのであれば
サブタスクのタスク後処理で、イベント実行 ビュー再表示
を行うのはいかがでしょうか?
その一括チェックボックスのV=項目 変更イベントから
そのデータをメインソースにして、値の書き換えを行う
バッチタスクを呼ぶといいと思います。
複数件、間違いなく書き換えを行っているのであれば
サブタスクのタスク後処理で、イベント実行 ビュー再表示
を行うのはいかがでしょうか?
投票数:0
平均点:0.00
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
nkmtさん ありがとうございます。
おっしゃる通りに処理を追加し、ビュー再表示を行ってみましたが
変わりありませんでした。
細かくデバックで変数や項目の変化を確認したところ、納得いかな
い挙動をしていましたので、再度 テーブル項目等を確認したいと
思います。
ありがとうございました。
おっしゃる通りに処理を追加し、ビュー再表示を行ってみましたが
変わりありませんでした。
細かくデバックで変数や項目の変化を確認したところ、納得いかな
い挙動をしていましたので、再度 テーブル項目等を確認したいと
思います。
ありがとうございました。
投票数:0
平均点:0.00
fjksudou
投稿数: 180
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
unipaasはサブフォームはありましたか?
テーブルコントロールのラベルを親タスクにして、明細をサブフォームにします。
親タスクで、ラベルにあるチェックボックスの項目変更のイベントを取得し、下位に一括変更用のバッチを作成します。
バッチが帰ってきたところで、サブフォーム再表示を実行すると、一括で制御できます。
また、サブフォーム側のレコード前処理でキーの位置を親側の変数で記憶し、位置付け設定することで、少し位置は変化しますが、サブフォームが先頭に戻らずに済みます。
テーブルコントロールのラベルを親タスクにして、明細をサブフォームにします。
親タスクで、ラベルにあるチェックボックスの項目変更のイベントを取得し、下位に一括変更用のバッチを作成します。
バッチが帰ってきたところで、サブフォーム再表示を実行すると、一括で制御できます。
また、サブフォーム側のレコード前処理でキーの位置を親側の変数で記憶し、位置付け設定することで、少し位置は変化しますが、サブフォームが先頭に戻らずに済みます。
投票数:0
平均点:0.00
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
fjksudouさん ありがとうございます。
一度やってみます。
一度やってみます。
投票数:0
平均点:0.00
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
いつもありがとうございます。
頂いたアドバイスをもとに一通り完成しました。ありがとうございました。
ただ、ワークテーブルを使用している影響かわかりませんが、やっ
ぱりフォーカスが当たっている明細のチェックボックスは変更しま
せんでしたので、個別に変更するロジックを入れました。
※バッチタスクで指定したテーブルの項目ではなくて、親フォームで指定したテーブルの項目を更新するようにしました。
同じテーブル名・項目名なんですけどね。
またよろしくお願いいたします。
頂いたアドバイスをもとに一通り完成しました。ありがとうございました。
ただ、ワークテーブルを使用している影響かわかりませんが、やっ
ぱりフォーカスが当たっている明細のチェックボックスは変更しま
せんでしたので、個別に変更するロジックを入れました。
※バッチタスクで指定したテーブルの項目ではなくて、親フォームで指定したテーブルの項目を更新するようにしました。
同じテーブル名・項目名なんですけどね。
またよろしくお願いいたします。
投票数:0
平均点:0.00
fjksudou
投稿数: 180
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
失礼いたしました。
一つ抜けていました。
サブフォーム側で、
「コンテキストがフォーカス喪失」イベントを追加し、イベント実行「終了」を追加してください。
並行実行だとこれでいけますが…。
一つ抜けていました。
サブフォーム側で、
「コンテキストがフォーカス喪失」イベントを追加し、イベント実行「終了」を追加してください。
並行実行だとこれでいけますが…。
投票数:0
平均点:0.00
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
fjksudouさん ありがとうございます。
ただ、納期が近いことと他のコードも多数入れてしまったため、
今回はこのままで行こうと思います。すいません・・・
どうもありがとうございました。
ただ、納期が近いことと他のコードも多数入れてしまったため、
今回はこのままで行こうと思います。すいません・・・
どうもありがとうございました。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
全体をチェックする/しないの変数? は
明細一覧タスクの中にありますか?
その変数の特性 → データビューの一部=No にすると
そのパーク行のレコードを
別途更新する必要が無くなるのではないかなと思います。
PS.私の予想では、変数がデータビューの一部となっている為、
子タスクバッチ処理終了後、
一覧側オンラインタスクのレコード後処理が通過されている
という状況だと思います。
明細一覧タスクの中にありますか?
その変数の特性 → データビューの一部=No にすると
そのパーク行のレコードを
別途更新する必要が無くなるのではないかなと思います。
PS.私の予想では、変数がデータビューの一部となっている為、
子タスクバッチ処理終了後、
一覧側オンラインタスクのレコード後処理が通過されている
という状況だと思います。
投票数:0
平均点:0.00
nanbu
投稿数: 118
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
nkmtさん ありがとうございます。
変数はパラメタで渡しており、そこの特性をNoに変更してみました
が、変わりありませんでした。
一応、期待通りの動きになったので、今回はこのまま行こうと思っ
ております。
どうもありがとうございました。
変数はパラメタで渡しており、そこの特性をNoに変更してみました
が、変わりありませんでした。
一応、期待通りの動きになったので、今回はこのまま行こうと思っ
ております。
どうもありがとうございました。
投票数:0
平均点:0.00