Binding SAPUI5-获取具有相同id的多个表的绑定

Binding SAPUI5-获取具有相同id的多个表的绑定,binding,sapui5,Binding,Sapui5,我试图在表上实现过滤。这涉及getBinding()函数 getBinding()可以很好地处理单个表-id为“stock\u table”的表 但是,当访问多个生成的具有相同Id的表时,getBinding()返回“undefined” 如何将筛选器应用于具有相同id的多个表?解决方案是 谢谢你的帮助 // Filter every table with the group container var oGroupContainer = this.getView

我试图在表上实现过滤。这涉及getBinding()函数

getBinding()可以很好地处理单个表-id为“stock\u table”的表

但是,当访问多个生成的具有相同Id的表时,getBinding()返回“undefined”

如何将筛选器应用于具有相同id的多个表?

解决方案是

谢谢你的帮助

// Filter every table with the group container
                var oGroupContainer = this.getView().byId('groups_container');
                var oGroupItems = oGroupContainer.getRows();

                _.each(oGroupItems, function (oCategory) {
                     var content = oCategory.getAggregation("content");
                     var itemBinding = content[0].getBinding("items");
                     itemBinding.filter(aFilters);
                });

Id的用途是唯一的。如何生成表?我们使用“行转发器”生成所需的表。如您所见,每个表的id都是“stock_table”…因此RowRepeater中的每个“行”都是一个“表”?RowRepeater在几年前就被弃用了。顺便说一句,您可以尝试
const rr=this.byId(“groups_container”);const aRows=rr.getRows()
然后在这些行上循环(如果我理解正确,每一行应该是一个表)。对于每一行/表,您都可以访问绑定并进行筛选。这样,表本身就不需要Id.var n=this.getView().byId(“groups\u container”)这有一个“rows”的bindingInfo。然后,我可以使用var rows=n.getBinding(“rows”)获取容器中的表列表;这将返回一个oList数组。但是它没有绑定上下文,因此无法设置筛选器。
// Filter every table with the group container
                var oGroupContainer = this.getView().byId('groups_container');
                var oGroupItems = oGroupContainer.getRows();

                _.each(oGroupItems, function (oCategory) {
                     var content = oCategory.getAggregation("content");
                     var itemBinding = content[0].getBinding("items");
                     itemBinding.filter(aFilters);
                });