| 4D v15MOBILE Return selection | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15
 MOBILE Return selection 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MOBILE Return selection ( aTable ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| aTable | テーブル |   | 返したいカレントセレクションを含んだテーブル | |||||
| 戻り値 | Object |   | Wakanda準拠のセレクション | |||||
4D v14 R3 から導入
このコマンドは、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
	テーマ: ランゲージ
	
        
        
	
	初出: 4D v14 R3
	4D v15 - アップグレードリファレンス(標準版) ( 4D v15)
 コメントを追加
コメントを追加