4D v16.3MOBILE Return selection |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
MOBILE Return selection
|
MOBILE Return selection ( aTable ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
カレントセレクションを取得したいテーブル | |||||
戻り値 | Object |
![]() |
Wakanda準拠のセレクション | |||||
MOBILE Return selection コマンドは、object 内に、 aTable のカレントセレクションをWakandaに準拠したentity collectionへと変換したものを、JSONオブジェクトとして返します。
このコマンドは、4D Mobile接続(通常はRESTを経由した4DとWakanda間の接続)のコンテキストにおいて呼び出されることを想定しています。4D Mobile接続が確立され適切なアクセス権が設定されると、Wakandaは$0 引数に値を返す4Dプロジェクトメソッドを実行する事ができます。
MOBILE Return selection コマンドは、aTable で指定したテーブルのレコードのカレントセレクションを、JSONフォーマットの entity collection オブジェクト形式で$0 引数に返します。このオブジェクトはWakandaでレコード(またはentities)のセレクションを内包するentity collectionsに準拠しています。
4D Mobileアクセスのためには、4Dデータベース内において、以下の特定の設定をしなければならないことに注意して下さい:
aTable には、有効なテーブルであればデータベース内のどんなテーブルでも渡す事ができ、メソッドプロパティにてテーブルと関連付けがなされているテーブルに限らないという点に注意して下さい。この引数はメソッドが呼び出し可能なオブジェクトをWakanda側で判断するためにのみ使用されます。
4D Mobileの設定についての詳細な情報に関しては、4D Mobileドキュメントを参照して下さい。
[Countries] テーブルのクエリに基づいたカレントセレクションを Wakanda のグリッドに表示させたい場合を考えます。
まず、以下の様な4Dメソッドを作成します:
//FindCountries プロジェクトメソッド
//FindCountries( 文字列 ) -> object
C_TEXT($1)
C_OBJECT($0)
QUERY([Countries];[Countries]ShortName=$1+"@")
$0:=MOBILE Return selection([Countries])
返されたセレクションは有効なコレクションとして、Wakanda 内で直接使用する事ができます。
4D Mobileを経由して4Dと接続しているWakanda Serverにおいて、4DのCountries tableと関連付けられたグリッドを持つページを作成したとします。デフォルトでは、ランタイムでは、4D テーブルからの全てエンティティが表示されています:
ボタンに記述されているコードは以下の通りです:
button1.click = function button1_click (event) { sources.countries.FindCountries("i", { //4Dメソッドを呼び出し。"i" は$1として渡されます。 onSuccess:function(coll){ //コールバックファンクション(非同期)。$0を引数として受け取ります。 sources.countries.setEntityCollection(coll.result); //カレントのエンティティコレクションを // coll.resultオブジェクト内のものと置き換えます } }); };
その結果、グリッドが更新され以下の様になります:
プロダクト: 4D
テーマ: セレクション
番号:
1315
初出: 4D v14 R3
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)