親子削除とは、親子連携された2つのパネル(親パネルの主キーなどの項目によって、子パネルの行が限定されているパネル)で、親パネルの行を削除すると同時に、対応する子パネルの行も削除する機能です。
例えば、親である伝票パネルと、子である明細パネルの2つが親子関係で定義されている場合に、伝票パネルの行を削除するだけでなく、同時に子である明細リストの行も削除したいことがあります。
親子パネル間で親子削除を行うには、コマンドで親パネルにて「親子削除」というアクションを使います。なお、親子削除を有効にするには、子パネルの限定設定で「親子編集する」にチェックを入れる必要があります。
ここでは、説明のために次のような親となる「受注伝票」パネルと、子となる「受注明細」パネルがある状態で、親子削除アクションを含むコマンドを実行するための[伝票削除]ボタンを配置する例を示します。
親子削除は、親子関係を持つ2つのパネルが定義されている(子パネルが親パネルの選択行によって限定されている)必要があります。親子関係を持つパネルは、ウィザードの「明細パネル」作成機能でも定義できます。
(1) リボンの「定義」タブから「コマンド」を選択します。
(2) 「コマンド」画面で[新規]ボタンをクリックします。
(3) 「コマンド名」画面でコマンド名として「伝票削除」と入力し、[OK]をクリックします。
(4) 「コマンド」画面にて作成した「親子削除」コマンドが選択されている状態で、
「パネル」欄が親のパネル「受注伝票」となっていることを確認します。
次に「ボタン配置」欄で「パネル」を選択して、表示名に「伝票削除」と入力します。
(5) 画面下のアクション表に新しい行を追加して「アクション種別」欄のプルダウンから「親子削除」を選択します。
(6) 「アクション設定」画面にて、「対象コンテキスト」欄で 親パネルのコンテキスト「受注伝票」を選択し、[登録]ボタンをクリックします。
なお「アクション設定」画面を表示するには、追加したアクションの「指定内容」欄をダブルクリックします。
(7) 「コマンド」画面の[登録]をクリックします。
(8) 「受注伝票」パネルの入力フォーム上にボタン[伝票削除]が自動的に配置されます。
なお、ボタンの配置を変えるには、入力フォームを右クリックして「デザインモード」を選択することにより位置や大きさを変更できます。
(9) 次に、リボンの「定義」タブの「コンテキスト」を選択します。
(10) 「コンテキスト」画面にて「受注明細」コンテキストを選択して[限定]ボタンをクリックします。
(11) 「限定」画面の「基本設定」タブにて
「親子関係として扱う」にチェックを入れて 、[登録]ボタンをクリックします。
(1) 「受注伝票」パネルで削除したい行を選択して[伝票削除]ボタンをクリックします。
(2) ボタンをクリックすると、親パネルで選択した行が削除されると同時に、子パネルである「受注明細」パネルの行も削除されます。
限定されていない時のコンテキストの内容は、親子削除の前後で、次のように変化します。