Forguncyではレコードの取得を行うための以下の2つのメソッドを提供しています。
Forguncy.getTableData( tableName, primaryKey, successCallback, errorCallback )
指定したテーブルに対してレコードが一意になるフィールド名と値を指定し、1件のレコード内容を取得します。
tableName |
Type: String |
取得したいデータが格納されているテーブルの名前。 |
primaryKey |
Type: PlainObject |
取得対象のレコードにおいて一意となるフィールド名と値を指定。 |
successCallback |
Type: Function( PlainObject data ) |
レコードの取得が成功したときに実行するコールバック関数を指定します。引数にはリクエスト結果が渡されます。 |
errorCallback |
Type: Function( String errorMessage ) |
レコードの取得が失敗したときに実行するコールバック関数を指定します。 引数にエラーメッセージが渡されます。 |
Forguncy.getTableData("テーブル1", {"ID":2}, function(data){ // レコードの取得に成功した場合 Forguncy.Page.getCell("textBoxCell1").setValue(data.フィールド1); }, function(errorMessage){ // レコードの取得に失敗した場合 alert(errorMessage); } );
複数のフィールドを組み合わせて一意なレコードを特定する場合、以下のようなコードを使用します。
Forguncy.getTableData("テーブル1", { "ID1": 2, "ID2" : 33 }, function(data){ // レコードの取得に成功した場合 Forguncy.Page.getCell("textBoxCell1").setValue(data.フィールド1); }, function(errorMessage){ // レコードの取得に失敗した場合 alert(errorMessage); } );
Forguncy.getTableDataByOData( odataParam, successCallBack, errorCallBack )
指定したODataのリソースパスを使用して、レコード内容を取得します。
odataParam |
Type: String |
ODataのリソースパスを指定します。ルートURIは含めず、リソースパス以降を指定してください。 |
successCallback |
Type: Function( PlainObject data ) |
レコードの取得が成功したときに実行するコールバック関数を指定します。引数にはリクエスト結果が渡されます。 |
errorCallback |
Type: Function( String errorMessage ) |
レコードの取得が失敗したときに実行するコールバック関数を指定します。 引数にエラーメッセージが渡されます。 |
「Caterories」テーブルのレコード数を取得し、「countLabel」という名前が付いたセルに値として設定するサンプルコードです。
Forguncy.getTableDataByOData("Categories/$count", // 成功した場合のコールバック処理 function (data) { /* データ型 Type:object */ Forguncy.Page.getCell("countLabel").setValue(data); }, // エラー時のコールバック処理 function (e) { alert(e); });
「Caterories」テーブルの全レコードを取得し、表示に適切な内容に整形したうえで「resultLabel」という名前が付いたセルに値として設定するサンプルコードです。
Forguncy.getTableDataByOData("Categories", // 成功した場合のコールバック処理 function (data) { /* データ型 Type:List<Dictionary<string, object>> */ var str = ""; for (var index = 0; index < data.length; index++) { var rowData = data[index]; str += "ID:" + rowData["Category ID"] + "\r\n" + "カテゴリ名:" + rowData["Category Name"] + "\r\n" + "説明:" + rowData["Description"] + "\r\n\r\n" } Forguncy.Page.getCell("resultLabel").setValue(str); }, // エラー時のコールバック処理 function (e) { alert(e); });