セールステーブルの編集

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

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

セールステーブルの編集

セールステーブルの編集 (Edit Sales Table) がオフィステーブルの編集 (Edit Offices Table) 同様、別のトップページに作成されます。ソリューションが実行されると、このページはメインページからアクセスすることができます (下部左側スクリーンショット )。 [セールステーブルの編集 (Edit Sales Table)] ボタンをクリックすると、セールステーブルをロードします (下部右側スクリーンショット )。セースルテーブルには、複数の行があり、各行には編集できない(セールスアイテム) ID 列、編集できるオフィス、月、年度、ライセンス列があります (下部右側スクリーンショット 参照)。更に、行の追加コントロールが最後の行の下にあり、 [送信] ボタンがオフィス テーブルの編集バーにあり、前のページ (この場合メイン ページ)に戻る [戻る] ボタンがあります。

MTDDBCSimulator01   Click to expand/collapse

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

MTDDBCEditButtons

MTDDBCOnButtonPressed

 

編集可能なセールス テーブルの作成

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

 

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

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

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

return $id

MTDDBCDataSrcDB2

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

 

すること...

方法

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

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

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

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

編集可能な値の編集を有効化する

コンボ ボックスを追加して、ページソースリンクを持つ編フィールドを編集する。

DB に変更を保存する

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

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

メイン ページに戻る

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

 

 

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

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

Click to expand/collapse

テーブルの繰り返しを指定します。行数 (5) と列数 (2)を入力して、自動追加/削除コントロール チェックボックスを選択して、[OK] をクリックします。 最初の行のセルにヘッダーへラベルを追加します。2番目の行の最初のセルの編集不可能な@id 値のラベルを追加します。 $DB2  の @id ノードへのソースノードリンクがこのラベル (DB:id) のために作成されます。

MTDDBCTableRepeating03

 

Click to expand/collapse編集可能なノードの編集の有効化

オフィスのために (@Office へのページソースリンクと共に) コンボ ボックスが追加され、対応するノードへのソースノード リンク付きの月、年度、ライセンス セルの編集フィールドが追加されます。

MTDDBCTableRepeating03

 

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

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

MTDDBCEditSalesPageActions

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

 

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

 

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


 


(C) 2019 Altova GmbH