オフィス テーブルの編集

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  チュートリアル > データベースとチャート >

オフィス テーブルの編集

オフィス テーブルの編集 (Edit Offices Table) が別のトップ ページに作成されます。 ソリューションが実行されると、このページにメイン ページからアクセスすることができます (下部左スクリーンショット参照)。 [オフィステーブルの編集(Edit Offices Table)] ボタンをクリックすると、オフィス テーブルの編集をロードします (下部右スクリーンショット参照)。 オフィス テーブルは 7 つの行があり、各行には編集不可能な ID 列、編集可能な都市の列、および削除コントロールがあります (下部右スクリーンショット参照)。更に、行の追加コントロールが最後の行の下にあり、 [送信] ボタンがオフィス テーブルの編集バーにあり、前のページ (この場合メイン ページ)に戻る [戻る] ボタンがあります。

MTDDBCSimulator01 MTDDBCSimulatorEditOffices01

デザインの [編集] ボタン (下部第 1 スクリーンショット参照) には、 ボタンのクリック時 イベントに対して、ページへ移動アクションが割り当てられています。 (ボタンを右クリックして [ボタンのクリック時 に対するコントロール アクション] を選択する)。これらのページへ移動アクションは対応するターゲット ページをロードします (下部第 2 スクリーンショット参照)。

MTDDBCEditButtons

MTDDBCOnButtonPressed

 

編集可能なオフィステーブルの作成

DB のオフィステーブルには、データツリー $DB1 に表示された構成があります(下のスクリーンショット)。 @id 属性が主キーなため、変更することはできません。これは、新しい記録が追加されると、エンドユーザーはソリューションを介して @id の値を入力できないことを意味します。 @id の値は、自動的に XQuery 式を使用して生成される必要があります。  XQuery 式はコンテキスト メニュー コマンド [ページロード時に存在することを確認 (XPath 値)] を使用して挿入されます:

 

let $all := $DB1/DB/RowSet/Row/@id

let $ids := remove($allindex-of($all""))

let $id := if (empty($ids)) then 1 else max($ids) + 1

return $id

MTDDBCDataSrcDB1

デザインでは以下を行います:

 

すること...

方法

すべての (Office) 行を表示する

Office 行を繰り返し要素とする繰り返しテーブルを追加する。

行の追加および削除のコントロールを含む

テーブルを追加する時、削除/追加コントロールの自動的な包括を有効化する。

@City の値の編集を有効化する

@City にソースノードを持つフィールドの編集コントロールを追加する。

DB に変更を保存する

保存 アクションをページの 送信ボタンのクリック時 イベントに追加する;

$DB1 を右クリックして、元の行セットの作成に切り替えます。

メイン ページに戻る

ページに移動アクションをページの 戻るボタンのクリック時 イベントに追加する。

 

 

Click to expand/collapse追加/削除コントロールを持つ繰り返しテーブルの追加

[コントロール] ペイン から[テーブル] コントロールをドラッグして、デザインにドロップすると、新しい[テーブル] コントロール ダイアログが表示されます(下のスクリーンショット)。

Click to expand/collapse

テーブルの繰り返しを指定します。行数 (4) と列数 (1)を入力して、自動追加/削除コントロール チェックボックスを選択して、[OK] をクリックします。 下のスクリーンショットに表示されるように、行の最初の 3 つのセルにラベルが追加されます。 $DB1@id ノードへのソースノード リンクが 3 番目のラベル (DB:id) のために作成されます。

MTDDBCTableRepeating02

 

Click to expand/collapse$DB1 内の @City の編集を有効化する

A4番目のセルにフィールド コントロールが追加され、ソースノード リンクが作成され、$DB1@City ノードが (DB:City) のために作成されます。エンドユーザーが @City 値を編集できるように、このセルでフィールドの編集を使用します; その他すべてのセルには[ラベル] コントロールがあります。

MTDDBCTableRepeating02

 

Click to expand/collapseページアクション: [保存]して[ページへ移動]

[ページ | ページ アクション] クリックしてページ アクション ダイアログを開く (下のスクリーンショット)。

MTDDBCEditOfficesPageActions

以下のイベントでアクションは定義されます:

 

送信ボタンのクリック時: DB ($DB1)  の全ての列を保存して、メイン ページに移動する。 DB に記録が保存されていない場合、修正されていないデータと共に DB が再ロードされるため、再ロードアクションの追加が奨励されます。 (上のスクリーンショットを参照)。
戻るボタンのクリック時: メイン ページに移動する。
 
MTDDBCEditOfficesPageActions02

 

ページソースのツリーは、RowSet 要素のコピーである OriginalRowSet 要素を含む必要があります。 RowSet 要素 が編集できるように、オリジナルのデータは、 OriginalRowSet 要素に保存されます。 OriginalRowSet 要素は、新しいデータがに保存された際に新しい値と共に更新されます。


 


(C) 2019 Altova GmbH