このサイトをビューするために JavaScript を有効化してください。

Altova MobileTogether Designer

このセクション::

 

OriginalRowSet について

テーブル内の DB データおよび他のコントロールの編集

ノードの更新、挿入、追加、および削除

DB 実行アクションと $MT_DBExecute_Result 変数

MobileTogether Designer 内の主キー

 

OriginalRowSet に関して

データを編集し、保存するには、ツリーはページ ソースに、 RowSet 要素のコピーである OriginalRowSet 要素を含む必要があります。オリジナルのデータは OriginalRowSet 要素に保存され、編集されたデータは RowSet 要素に保存されます。データ ソースが保存されると、OriginalRowSetRowSet の 2 つのツリーの差異が計算され、ページソースは差異を基に更新されます。 修正に成功すると、修正されたデータは、OriginalRowSet にコピーされ、OriginalRowSetが新しく保存された DB データを含み、修正プロセスが繰り返すことができます。

 

ページソースの OriginalRowSet を作成するには、ページソースのルート ノードを右クリックして、コマンド [OriginalRowSet の作成] を切り替えます。

 

[OriginalRowSet の作成] コマンドは、データベース型 ($DB) ルート ノードのために有効化されています。ページソースの元のデータを含むデータ構造を作成/削除する切り替えコマンドです。 ユーザーにより修正されたデータはページソースにより作成されたメインの構造に保存されています。修正されたデータが DB に保存されると、 OriginalRowSet 構造は新たに DB に保存されたデータを含むために修正されます。これにより元の DB データはツリーで使用可能となります。

 

 

テーブル内の DB データおよび他のコントロールの編集

DB データ内で編集することのできるコントロールを作成するには、次を行います:

 

コンボボックスまたは編集フィールドなどエンドユーザーにより編集することのできるコントロールです。ラベルコントロールは編集することができません。テーブルが繰り返し行から生成される場合は、編集可能なコントロールをテーブルのセル内に追加してください。手順はデータベースとチャートチュートリアル内のEdit Offices Table セクションまたはサンプルを参照してください。 また、 テーブルとの作業方法の詳細を参照してください。

コントロールで、編集するページソースノードへのページソースリンクを作成します。ページソースノードをコントロールにドラッグしてください。

テーブルを作成する場合、繰り返し行を持つテーブルを使用する場合、自動的にコントロールを追加/削除するオプションを使用してください。 (下のスクリーンショットを参照)。

Click to expand/collapse

DB ページソースの繰り返し行要素にリンクされている繰り返し行を持つテーブルを使用する利点は、テーブル行が追加されると、 DB 行も自動的に追加されることです。更に詳しい情報は、テーブルとの作業方法の詳細を参照してください。例えば、データベースとチャート チュートリアル MobileTogether Designer DB ファイルを参照してください。

 

 

ノードの更新、挿入、追加、および削除

更新データアクション により、ページまたはコントロールイベントがトリガーされると内のノードを編集することができます。

 

ノードの更新: アクションの XPath 式より生成されたまたは取得された DB 列などの1つ以上のノードを更新します。

ノードの挿入: アクションの XPath 式により選択されたノードの前 DB 列などの1つ以上のノードを挿入します。

ノードの追加: アクションの XPath 式により選択されたノードの最初または最後の子として DB 列などの1つ以上のノードを追加します。追加されたノードの構成およびコンテンツを編集することができます。

ノードの削除: アクションの XPath 式により指定された DB 列などの1つ以上のノードを削除します。

 

メモ:これらのアクションはローカルのデータツリーで実行されます。変更されたデータツリーは、エンドユーザーの変更が DB にパスされるようにのために DB に保存されなければなりません。

 

 

DB 実行アクションと $MT_DBExecute_Result 変数

DB 実行アクション により、 INSERT、 APPEND、 UPDATE および DELETE を含む パワフルな SQL ステートメントを使用して DB を修正することができます。 前のセクションで説明されているアクション とは次の重要な点で異なります:  DB 実行の SQL ステートメントにより作成された変更は即時 DB に保存されます。 前のセクションで説明されているアクション の場合、変更を保存するには保存メカニズムを使用する必要があります。

 

DB 実行アクション が SQL ステートメントを実行した後、 結果を変数名 $MT_DBExecute_Result に保存します。この変数はプロジェクト内で XPath 式として使用されます。結果、 (オプションでパラメーターをベースにした)DB からの構造とデータを選択することができ、 保管、変更、または他の箇所に挿入することができます。

 

 

MobileTogether Designer の主キー

DB の主キーは通常、自動インクリメントです。この場合、新しい行がテーブルに追加され、追加された行の主キー列は自動的にインクリメントされます。 MobileTogether Designer では、主キーからテーブルが取得されると、自動インクリメント情報が自動的に取得され[ページ ソース] ペインに表示されます(下のスクリーンショット参照)。

MTDDBCDataSrcDB1

この情報の自動取得が成功しなかった場合、切り替えコマンドを含むツリー ノードのコンテキスト メニューによりノードに正確な注釈をつけることができます (下のスクリーンショット参照)。

MTDDBPKAutoIncrement

主キー列が自動インクリメントでない場合、追加された行の新しい主キーの値は XQuery 式を使用して自動的に生成されなければなりません。これは、主キー列を編集することができないからです。 XQuery 式は、主キーノードのコンテキストメニューコマンド [ページのロード時に存在することを確認 (XPath 値)] を使用して挿入されます。下の例では、次の XQuery 式を使用して新しい値が主キー @id のために生成されます:

 

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

 

(C) 2019 Altova GmbH