-4

SAP FIORI アプリの開発を始めたばかりです。

SAP ユーザーの詳細用に単純な oData モデルを作成し、次の 2 つの方法を実装しました。

  • get_entityset- 個人番号とフルネームを含むユーザーのリストを受け取ります
  • get_entity- 単一ユーザーの詳細を (ユーザー名ごとに) 受け取ります。

ブラウザからサービスを呼び出すと、すべて正常に動作します。get_entityMaster-Detail FIORI アプリの詳細ページをロードするときにメソッドを呼び出すにはどうすればよいですか。WebIDE のマスター/ディテール テンプレートを使用しましたが、get_entitset呼び出されるだけで、詳細画面は設定されたデータのみを使用します。

データバインディングをどのように定義すればよいですか(詳細コントローラーで推測します)?

4

1 に答える 1

2

エンティティが User と呼ばれ、EntitySet が Users と呼ばれるとしましょう。また、エンティティには、UserId と呼ばれる Edm.String 型の 1 つのキー フィールドと、Edm.String 型の FullName と呼ばれる別のフィールドがあると仮定します。

var sPath = "/the/path/to/my/service";
var oModel = new sap.ui.model.odata.ODataModel(sPath);
sap.ui.getCore().setModel(oModel);
var oText = new sap.ui.commons.TextView({
    text: "{FullName}"
});   
oText.bindElement("/Users('MyUserId')");  
oText.placeAt("content");

「/Products('MyProductId')」にバインドしているため、「get_entity」が呼び出されます。「/Products」にバインドすると、「get_entityset」が呼び出されます。ただし、「/Products」へのバインドはテーブルまたはリストに使用され、通常は単純な TextView (上記の例のように) には使用されません。Web には多くのチュートリアルがあり、これは想像するほど複雑ではないことがわかります。

于 2015-08-24T09:51:52.040 に答える