首页 > 其他分享 >SAP UI5 控件聚合属性 Aggregation 的概念和具体使用案例

SAP UI5 控件聚合属性 Aggregation 的概念和具体使用案例

时间:2023-07-23 21:56:29浏览次数:42  
标签:控件 聚合 title Aggregation 列表 UI5 SAP

在 SAP UI5 中,控件是用户界面的基本构建块。控件可以是一个简单的文本框,也可以是一个复杂的表格。每个控件都有自己的属性 (properties),事件 (events) 和方法 (methods)。

而聚合 (aggregation) 是控件中的一种特殊类型的属性,它允许一个控件包含其他控件。比如,一个表格控件可能包含多个行控件,每个行控件又包含多个单元格控件。这种包含关系就是通过聚合来实现的。在这个例子中,表格是父控件,行和单元格是子控件。表格通过一个名为 "rows" 的聚合来包含行,行通过一个名为 "cells" 的聚合来包含单元格。

聚合有两种类型:默认聚合和命名聚合。默认聚合是控件的主要聚合,每个控件只能有一个默认聚合。比如,对于表格控件,其默认聚合就是 "rows"。而命名聚合则是控件的其他聚合,一个控件可以有多个命名聚合。比如,对于行控件,除了默认聚合 "cells" 之外,还可以有其他的命名聚合。

聚合的另一个重要特性是它们可以是单数或多数。单数聚合意味着一个控件只能包含一个子控件,而多数聚合则意味着一个控件可以包含多个子控件。在上面的例子中,"rows" 和 "cells" 都是多数聚合,因为它们都可以包含多个子控件。

聚合的使用使得控件的组织和管理变得简单而直观。可以通过聚合来添加、删除或替换子控件,而无需直接操作 DOM。此外,SAP UI5 还提供了一套完善的数据绑定机制,可以轻松地将数据绑定到聚合上。这极大地方便了数据驱动的应用开发。

以下是一个具体的例子,演示了如何在SAP UI5中使用Aggregation。在这个例子中,我们将创建一个简单的列表,然后将一些列表项添加到这个列表中。

如果大家想要循序渐进学习 SAP UI5,可以参考我的教程:

一套适合 SAP UI5 开发人员循序渐进的学习教程

首先,我们需要创建一个新的SAP UI5应用。为此,我们需要在我们的HTML文件中包含SAP UI5库:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <title>My SAP UI5 App</title>
    <script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
        id="sap-ui-bootstrap"
        data-sap-ui-libs="sap.m"
        data-sap-ui-theme="sap_belize">
    </script>
    <script>
        sap.ui.getCore().attachInit(function () {
            var oList = new sap.m.List("list", {
                headerText: "My List"
            });

            var oItemTemplate = new sap.m.StandardListItem({
                title: "{title}",
                description: "{description}"
            });

            var aItems = [
                { title: "Item 1", description: "This is item 1" },
                { title: "Item 2", description: "This is item 2" },
                { title: "Item 3", description: "This is item 3" },
            ];

            var oModel = new sap.ui.model.json.JSONModel({
                items: aItems
            });

            oList.setModel(oModel);
            oList.bindAggregation("items", "/items", oItemTemplate);

            oList.placeAt("content");
        });
    </script>
</head>
<body class="sapUiBody" id="content">
</body>
</html>
  1. 在这个例子中,我们首先创建了一个新的sap.m.List控件,并设置了它的headerText属性。接着,我们创建了一个sap.m.StandardListItem控件,用作我们列表的模板。模板定义了每个列表项的外观和行为。

  2. 创建了一个包含三个对象的数组。每个对象都有一个title属性和一个description属性,这些属性将被用于填充我们的列表项模板。

  3. 创建了一个新的JSONModel,并将我们的数组设置为模型的items属性。模型是一个数据容器,它可以被多个控件共享和使用。

  4. 调用了bindAggregation方法,将我们的列表的items aggregation绑定到模型中的/items路径,并指定了我们之前创建的模板。这将导致列表为模型中的每个项创建一个新的列表项。

  5. 使用placeAt方法将我们的列表添加到HTML文档中的content元素。

标签:控件,聚合,title,Aggregation,列表,UI5,SAP
From: https://www.cnblogs.com/sap-jerry/p/17575976.html

相关文章

  • .net window程序 连线控件
    .NET窗口程序连线控件在.NET窗口程序中,连线控件是一种常用的控件类型,用于在用户界面上创建可连接的对象。这些对象可以是图形、文本或其他类型的元素,它们可以通过连线来表示它们之间的关系或依赖关系。在本文中,我们将介绍如何使用.NET窗口程序中的连线控件,并提供一些代码示例来帮......
  • android控件设置显示动画
    Android控件设置显示动画作为一名经验丰富的开发者,你需要教导一位刚入行的小白如何实现Android控件的显示动画。本文将引导你完成这一过程,并提供每一步所需的代码和相关注释。1.概述在Android中,我们可以使用动画来改变控件的外观和行为。控件显示动画是指在控件出现时应用动画......
  • DevExpress中GridControl控件的基本属性设置和使用方法
    (18条消息)DevExpress中GridControl控件的基本属性设置和使用方法_gridcontrol隐藏列_潘达小新的博客-CSDN博客......
  • SAP UI5 应用启动时加载的 flpSandbox.html 文件有什么作用
    在SAPUI5应用程序的开发和测试阶段,我们经常会使用一个特殊的HTML文件,名为flpSandbox.html。这个文件主要用于在本地环境中模拟FioriLaunchpad的环境,以便于开发者在没有真实SAP系统支持的情况下进行开发和调试。这个文件的源代码可以在笔者这套教程里找到:SAPFioriEl......
  • 关于 SAP UI5 Fiori2 renderer
    我们在SAPUI5官网能看到关于这个fiori2renderer的介绍:发现它的介绍同unifiedshell有关:TheSAPUI5componentofSAPFioriLaunchpadrendererfortheUnifiedShell.Fiori2Renderer的工作原理是这样的:当用户打开一个Fiori应用程序时,Fiori2Renderer会读取应用程......
  • SAP UI5 sap.ui.unified 命名空间的作用介绍
    @目录SAPUI5namespace在index.html中的使用SAPUI5namespace在控制器JavaScript编程中的使用参考文献我们在查阅SAPUI5官网的时候,有时会看见关于namespace即命名空间的资源介绍,如下图所示。这里的符号n代表namespace:在一个加载完毕的SAPUI5应用浏览器窗口......
  • Silverlight工作流控件功能缺失,Windows Server操作系统 IIS添加WCF功能
    注:Silverlight工作流控件,如果在网页中打不开,则要判断是否缺少Silverlight工作流控件的插件程序,如果不是则可以进行一下步骤检查,如果是以下原因则是:由于IIS版本问题,安装后可能出现不支持wcf服务的请求处理,需要手动添加处理程序;数据库客户端如果是64位,需要修改iis应用池启用32位。......
  • 关于Android 控件没有动态设置界面效果时,如何处理
    关于Android控件没有动态设置界面效果时,如何处理例子:android:scrollbarThumbVertical动态设置-->listView如果控件只有静态xml界面的设置,没有动态设置时,需要去查看安卓控件的源码,看该控件继承了那个父控件的方法,然后利用反射调用!不同的Android版本,源码可能不同!Android11.......
  • DevExpress WinForms TreeList控件,让业务数据展示更清晰!(二)
    DevExpressWinForms的TreeList控件是一个功能齐全、数据感知的TreeView-ListView的混合体,它可以以树形、网格或两者结合的形式显示数据信息。无论是数据绑定模式还是非绑定模式,都具有完整的数据编辑支持。在上文中(点击这里回顾>>),我们为大家介绍了TreeListUI/UX的自定义、受Exce......
  • 界面控件DevExtreme PivotGrid,拥有新的HTML编码体验!
    虽然DevExtreme刚刚发布了v23.1,但今天我们仍然要继续总结一下之前的主要更新(v22.2)中发布的一些与DevExtremePivotGrid(透视网格)组件相关的重要特性。DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout......