顧客のデータベースの記録は、動的な行が存在するテーブル内で表示されている $PERSISTENT ツリー内で表示されます (下のスクリーンショットを参照)。
テーブルは以下のように定義されます:
•テーブルには、動的な行の外に存在するシンプルなヘッダー行があります。
•動的な行は、 $PERSISTENT/Root/Customer ページソース 要素にリンクされている繰り返し行です。ソリューション内の結果、新規の行が各 Customer 要素のために作成されます。
•各テーブル列のセルには、 それぞれ Customer 要素: name、street、zip、と city の異なる属性ノードにリンクされているラベルコントロール が含まれています。
•各ラベルは、ラベルのクリック時 イベントのために定義されている同じアクションのセットを有しています (下のスクリーンショットを参照)。これらのアクションは、各顧客の記録が個別に編集でき、顧客のデータベースに保存できるようになっています (既存のレコードの編集のセクションを参照してください)。アクションのセットは、4つ全てのラベルと同じのため、4つのラベルのために再利用する事のできる単一のアクショングループ内で定義されています。
各レベルの ラベルのクリック時 イベントのために追加されるアクショングループ は、下のスクリーンショット内で表示され、説明され提案す。
アクショングループ内のアクションは以下を行います:
•ノードの削除 アクションは、 $EDIT/Customer を削除します。このページソースには、現在編集されている顧客の記録が含まれています。
•$EDIT/Customer ノードの削除された属性ノードは、編集する記録の属性ノードと置き換えられます。これらのノードは、現在のコンテキストノード( $PERSISTENT/Root/Customer )の属性ノードです。この置換えは、ノードの追加 アクションを使用する事におこなうことができます。
•Let アクション は、 サブページEdit Address に移動する $save という変数を作成し、結果を取得します (下のスクリーンショットを参照) 。サブページの結果は、ページの 「保存」ボタンがクリックされると返されます。「保存」 ボタンは サブページを閉じる を実行し、 Customer ノードである結果を返します。このノードは、 $save 変数に保管されます。
•If-Then アクション は、 $save 変数が存在するかをチェックします。
•$save 変数が存在する場合、アクションの Then 句が実行されます。これにより、顧客のデータベースの現在の Customer 要素の属性ノードが削除され、 (ノードの追加 アクションを使用して) $EDIT/Customer 要素からの属性ノードが顧客のデータベースの顧客のデータに追加されます。
•「キャンセル」 ボタンがクリックされると、結果を返すことなく サブページを閉じる が実行されます。顧客のデータベースを変更することなくメインページへ戻る事ができます。