-1

我真的是 SAPUI5 世界的新手。我正在尝试创建一个 FIORI-App,但我坚持以正确的方式绑定我的数据。

我正在创建一个 SplitApp。在主视图中,您有一个培训列表,您可以从中选择显示详细信息。现在我想在详细信息页面中显示培训描述列表。我的 JSON 模型如下所示:

[{
    "Objid": "50000001",
    "Name": "Word für Anfänger",
    "Description" : [{
        "Title" : "Trainingsinhalt",
        "Content" : "Dies ist ein Trainingsinhalt"
     }, {
        "Title" : "Hinweise",
        "Content" : "Meine Hinweise"
     }]
}, {
    "Objid": "50000002",
    "Name": "Excel für Anfänger",
    "Description" : [{
        "Title" : "Trainingsinhalt",
        "Content" : "Dies ist ein Trainingsinhalt"
    }, {
        "Title" : "Hinweise",
        "Content" : "Meine Hinweise"
    }]
}]

我不确定这是否是在实体下方创建实体的正确方法。

有人可以帮助我吗?

4

1 回答 1

0

你的结构运作良好。万一你被卡住了:

将您的数据加载到一个命名的 JSON 模型中(例如“训练”)

var trainingModel = new sap.ui.model.json.JSONModel(yourData);
oView.setModel(trainingModel , "training");

将主视图中的列表绑定到相关字段(例如名称)。

<items>
   <ObjectListItem
         type="{device>/listItemType}"
         press="onPress"
         title="{training>Name}"
         number=""
         numberUnit="">
   </ObjectListItem>
</items>

在导航到您的详细信息视图时,获取在您的详细信息控制器中选择的名称的 id。

onRouteMatched : function(oEvent) {
       var oParameters1 = oEvent.getParameters();
       var sId1 = oParameters1.arguments.detailId;

将您的详细视图绑定到数据的此元素:

    var sPath = "training>/" + sId1 + "/";
    this.getView().bindElement(sPath);

然后通过将您的(作为示例)表字段绑定到描述的两个子字段来完成。

<Table id="idProductsTable"
       inset="false"
       items="{
       path: 'training>Description'
       }">
    <columns>
        <Column mergeDuplicates="true"
                width="40%">
            <Text text="Title" />
        </Column>
        <Column mergeDuplicates="true"
                width="40%">
            <Text text="Content" />
        </Column>
      </columns>
    <items>
        <ColumnListItem>
            <cells>
                <Text
                        text="{training>Title}" />
                <Text
                        text="{training>Content}" />
            </cells>
        </ColumnListItem>
    </items>
</Table>

就这样 - 您当前形式的数据非常有用。

于 2016-03-01T12:55:11.197 回答