我正在使用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({/*...*/});
},
我已经根据特定要求实现了Rows
和Columns
的动态绑定。有人可以在这里建议或帮助我吗?可以让我思考缺少什么或错误。
factory
函数的使用被故意省略sap.ui.table.Table
,以便处理与sap.m.Table
相比的大量数据。网格表(sap.ui.table.Table
)在用户滚动时重用其现有的DOM元素,这与工厂函数的工作方式不兼容。
如果你真的需要使用factory
函数,恐怕除了实现sap.m.Table
之外别无他法(尽管性能会受到影响)。如果没有,请在列控件中定义模板。
另请查看文档主题表:我应该选择哪一个?