是否可以使用工厂函数绑定"sap.ui.table.Table"控件中的行和列?



我正在使用XML视图在我的SAPUI5项目中创建视图。我试图实现工厂函数以用于sap.ui.Table控件的列和行。列工厂似乎工作正常,但由于某种原因,行工厂从未被执行。

视图:

<table:Table xmlns:table="sap.ui.table"
  columns="{
    path: 'oModel>/columns',
    factory: '.colFactory'
  }"
  rows="{
    path: 'oModel>/rows',
    factory: '.rowFactory'
  }"
>
  <!-- ... -->
</table:Table>

控制器:

// Column required from "sap/ui/table/Column"
// Row required from "sap/ui/table/Row"
colFactory: function(sId, oContext) {
  // ...
  return new Column({/*...*/});
},
rowFactory: function(sId, oContext) {
  // ...
  return new Row({/*...*/});
},

我已经根据特定要求实现了RowsColumns的动态绑定。有人可以在这里建议或帮助我吗?可以让我思考缺少什么或错误。

factory函数的使用被故意省略sap.ui.table.Table以便处理与sap.m.Table相比的大量数据。网格表(sap.ui.table.Table)在用户滚动时重用其现有的DOM元素,这与工厂函数的工作方式不兼容。

如果你真的需要使用factory函数,恐怕除了实现sap.m.Table之外别无他法(尽管性能会受到影响)。如果没有,请在列控件中定义模板。

另请查看文档主题表:我应该选择哪一个?

最新更新