如何为 ColumnListItems 设置组标题

How to set group title for ColumnListItems

我有以下 sap.m.Table:

<Table>
  <columns>
    <Column text="Name" width="200px" />
    <Column text="Number" width="200px" />
  </columns>
  <ColumnListItem>
    <cells> 
      <Text text="{modelExample>name}" />
      <Text text="{modelExample>number}" />
    </cells>
  </ColumnListItem>
</Table>

具有以下数据的模型:

型号:

var oModelExample = new sap.ui.json.JSONModel();
this.setModel(oModelExample,"modelExample")
this.setData(modelExample.Model) //adds the JSON - Model, below - only the content of "Model"

数据:

var modelExample = {
  "Model": [
    { title: "First Title", name: "First Name", number: 0 },
    { title: "First Title", name: "Second Name", number: 1 },
    { title: "Second Title", name: "Third Name", number: 2 },
    { title: "Second Title", name: "Fourth Name", number: 3 }
  ]
};

问题:它将遍历所有条目并显示名称和编号,但我希望它也能够显示带有它确实有的号码/名字。

问题:如何对项目进行分组,以显示标题以及属于标题的所有名称/编号?

应该是这样的:

我认为您正在搜索的是复杂的绑定命令。在加载 sap-ui-core.js 的 index.html 中,您需要(如果尚未完成)设置此命令:data-sap-ui-xx-bindingSyntax="complex"

然后你可以修改你的代码,例如:

<Table>
  <columns>
    <Column text="Name" width="200px" />
    <Column text="Number" width="200px" />
    <Column text="All" width="200px" />
  </columns>
  <ColumnListItem>
    <Text text="{name}" />
    <Text text="{number}" />
    <Text text="{title} {name} {number}" />
  </ColumnListItem>
</Table>

这是否回答了您的问题?

看来你要的是分组

您可以通过使用项目绑定的分组功能来实现。

<Table 项="{
  路径:'modelExample>/',
  <em>分拣员:{
    路径:'title',
    组:真实
  }</em>
}">

Doc: Sorting, Grouping, and Filtering for List Binding


sap.m.Column 没有 text 属性.

您必须像这样定义列

<Column>
  <Text text="Name" />
</Column>