我正在使用 XML View 在 SAPUI5 项目中创建 View 。我试图实现工厂函数以用于 sap.ui.Table 控件的列和行。列工厂似乎工作正常,但由于某种原因行工厂永远不会被执行。
查看:
<table:Table xmlns:table="sap.ui.table"
columns="{
path: 'oModel>/columns',
factory: '.colFactory'
}"
rows="{
path: 'oModel>/rows',
factory: '.rowFactory'
}"
>
<!-- ... -->
</table:Table>
Controller :
// 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({/*...*/});
},
我已经根据特定要求实现了行
和列
的动态绑定(bind)。有人可以在这里建议或帮助我吗?可以让我思考缺少或错误的内容。
最佳答案
factory
函数的使用是intentionally left out与 sap.m.Table
相比,用于 sap.ui.table.Table
以便处理大量数据。当用户滚动时,网格表 (sap.ui.table.Table
) 会重用其现有的 DOM 元素,这与工厂函数的工作方式不兼容。
如果确实需要使用factory
函数,恐怕除了实现sap.m.Table
之外别无他法(虽然性能会受到影响) )。如果没有,则定义templates在列控件中。
另请查看文档主题 Tables: Which One Should I Choose?
关于data-binding - 我可以使用工厂函数来绑定(bind) "sap.ui.table.Table"控件中的行和列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41548275/