SAPUI5 如何连接两个智能表的过滤器



我有两个智能表,它们都有一个个性化按钮,用户可以在其中添加过滤器。 现在我需要连接表,即应用于一个表的筛选器也应用于另一个表。

我已经实现了:如果用户将过滤器应用于一个表,我可以在evt.getParameter("bindingParams").filters的帮助下使用beforeRebindTable 事件查看它。之后,我可以将应用于表的变体复制到另一个表

var oVariantWithFilters = this.getView().byId("SmartTableOne")._oCurrentVariant
this.getView().byId("SmartTableTwo")._oCurrentVariant = oVariantWithFilters 

因此,两者都被正确过滤。

但是:如果用户打开其他智能表个性化设置(在本例中为 SmartTableTwo 之一(,他将看不到应用的筛选器,也无法在位置删除它。

因此,问题是关于如何在另一个表的个性化对话框中添加筛选器信息。(复制完整的_oPersController是不可能的,因为这不仅可以控制过滤器......还可以显示哪些列......

我希望这是可以理解的。

此致敬意 克里斯蒂安·

比预期的要容易...

var oVariantWithFilters = this.getView().byId("SmartTableOne").fetchVariant()
this.getView().byId("SmartTableTwo").applyVariant(oVariantWithFilters) = oVariantWithFilters

通过使用不复制变体的 applyVariant 函数...还会创建个性化对话框。所以这解决了我的问题。:)

最新更新