在 TreeTable 绑定上添加动态过滤器

Posted

技术标签:

【中文标题】在 TreeTable 绑定上添加动态过滤器【英文标题】:Adding dynamic filter on TreeTable binding 【发布时间】:2017-03-19 19:34:35 【问题描述】:

我想将一个名为“app”的参数从我的 Fiori 磁贴配置传递到我的应用程序,并在数据绑定中使用它。我收集动态过滤在 xml 视图上是不可能的,this question 建议使用 attachAfterRendering 函数。我在视图控制器中尝试了以下代码,但结果不一致,有时数据加载正确,有时我得到“无数据”。任何帮助将不胜感激。

    onInit: function() 

        var oStartupParameters = this.getMyComponent().getComponentData().startupParameters;

        this._oView = this.getView();
        this._oView.attachAfterRendering(function() 
            var oTreeTable = this.byId("treeTable");
            oTreeTable.bindAggregation("rows", 
                path: "/Nodes",
                filters: [
                    new sap.ui.model.Filter("Application", sap.ui.model.FilterOperator.EQ, oStartupParameters["app"])
                ]
            );
        );
    

【问题讨论】:

【参考方案1】:

您提到的帖子是关于在 XML 视图的过滤器定义中使用动态绑定表达式。据我了解,情况和你的不一样。

不使用attachAfterRendering,您可以在检索到oStartupParameters 后,在 onInit 函数的绑定信息中简单地定义一个过滤器。请检查此example。谢谢你。

var oTreeTable = this.byId("treeTable");
oTreeTable.bindRows( path: "/Nodes", filters: [
                new sap.ui.model.Filter("Application", sap.ui.model.FilterOperator.EQ, oStartupParameters["app"])
            ]);

【讨论】:

以上是关于在 TreeTable 绑定上添加动态过滤器的主要内容,如果未能解决你的问题,请参考以下文章

Android数据绑定上的字符串比较

端口绑定上的游戏制作者网络问题

.NET - Excel ListObject 在数据绑定上自动调整大小

在 Rust 项目的 C 绑定上运行 jextract 时出现致命错误“'stdlib.h' 文件未找到”

net.tcp 绑定上的线程不足 - TCP 错误代码 10061

mariadb 作为 docker 容器 - 主机挂载绑定上的启动损坏