4D v16.3

MOBILE Return selection

ホーム

 
4D v16.3
MOBILE Return selection

MOBILE Return selection 


 

MOBILE Return selection ( aTable ) -> 戻り値 
引数   説明
aTable  テーブル in カレントセレクションを取得したいテーブル
戻り値  Object in 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データベース内において、以下の特定の設定をしなければならないことに注意して下さい:

  • Webサーバーが起動している必要があります。
  • データベース設定内にて、"4D Mobile サービスを有効化"のオプションがチェックされているかどうかを確認して下さい。
  • 有効なライセンスが必要になります。
  • 公開したテーブルとフィールドがどちらも"4D Mobileサービスで公開"のオプションにチェックがされていなければなりません(デフォルトではチェックがされている)。
  • 呼び出されるメソッドは、"4D Mobile からの利用を許可"のオプションにチェックがされている必要があります(デフォルトではチェックされていません)。

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

This command can be run in preemptive processes

 
履歴 

初出: 4D v14 R3

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)