关键词:
现在我们已经为我们的应用建立了一个良好的结构,是时候添加更多的功能了。通过添加一些JSON格式的发票数据,我们开始探索数据绑定的更多特性,这些发票数据显示在面板下面的列表中。
Preview
A list of invoices is displayed below the panel
Coding
You can view and download all files at Walkthrough - Step 20.
webapp/Invoices.json (New)
"Invoices": [ "ProductName": "Pineapple", "Quantity": 21, "ExtendedPrice": 87.2000, "ShipperName": "Fun Inc.", "ShippedDate": "2015-04-01T00:00:00", "Status": "A" , "ProductName": "Milk", "Quantity": 4, "ExtendedPrice": 9.99999, "ShipperName": "ACME", "ShippedDate": "2015-02-18T00:00:00", "Status": "B" , "ProductName": "Canned Beans", "Quantity": 3, "ExtendedPrice": 6.85000, "ShipperName": "ACME", "ShippedDate": "2015-03-02T00:00:00", "Status": "B" , "ProductName": "Salad", "Quantity": 2, "ExtendedPrice": 8.8000, "ShipperName": "ACME", "ShippedDate": "2015-04-12T00:00:00", "Status": "C" , "ProductName": "Bread", "Quantity": 1, "ExtendedPrice": 2.71212, "ShipperName": "Fun Inc.", "ShippedDate": "2015-01-27T00:00:00", "Status": "A" ]
发票文件仅包含5张JSON格式的发票,我们可以使用它们在应用程序中绑定控件。JSON是一种非常轻量级的数据存储格式,可以直接用作SAPUI5应用程序的数据源。
webapp/manifest.json
… "sap.ui5": "rootView": "sap.ui.demo.walkthrough.view.App", […] "models": "i18n": "type": "sap.ui.model.resource.ResourceModel", "settings": "bundleName": "sap.ui.demo.walkthrough.i18n.i18n" , "invoice": "type": "sap.ui.model.json.JSONModel", "uri": "Invoices.json"
我们将一个新的模型发票添加到描述符的sa .ui5部分。这次我们需要一个JSONModel,因此我们将类型设置为sa .ui.model.json.JSONModel。uri键是相对于组件的测试数据的路径。通过这个小配置,我们的组件将自动实例化一个新的JSONModel,它从发票装载Invoices.json文件。最后,实例化的JSONModel作为命名模型发票放到组件上。命名的模型在我们的应用程序中是可见的。
请注意:自动模型实例化仅在SAPUI5 1.30版本中可用。如果使用旧版本,可以在组件的onInit方法中手动实例化应用程序的资源包和其他模型。就像我们在步骤9:组件配置中对资源包所做的那样。Step 9: Component Configuration.
webapp/view/App.view.xml
<mvc:View controllerName="sap.ui.demo.walkthrough.controller.App" xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc" displayBlock="true" > <App class="myAppDemoWT"> <pages> <Page title="i18n>homePageTitle"> <headerContent> <Button icon="sap-icon://hello-world" press="onOpenDialog"/> </headerContent> <content> <mvc:XMLView viewName="sap.ui.demo.walkthrough.view.HelloPanel"/> <mvc:XMLView viewName="sap.ui.demo.walkthrough.view.InvoiceList"/> </content> </Page> </pages> </App> </mvc:View>
在app视图中,我们添加了第二个视图来显示面板下面的发票。
webapp/view/InvoiceList.view.xml (New)
<mvc:View xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc"> <List headerText="i18n>invoiceListTitle" class="sapUiResponsiveMargin" width="auto" items="invoice>/Invoices" > <items> <ObjectListItem title="invoice>Quantity x invoice>ProductName"/> </items> </List> </mvc:View>
新视图显示一个带有自定义标题文本的列表控件。列表的项聚合绑定到JSON数据的根路径发票。由于我们定义了一个命名模型,我们必须在每个绑定定义前面加上标识符invoice>。
在items聚合中,我们为列表定义模板,该列表将为我们的测试数据的每个发票自动重复。更准确地说,我们使用ObjectListItem为项聚合的每个聚合子控件创建控件。列表项的title属性绑定到单个发票的属性。这是通过定义一个相对路径(没有/在开头)来实现的。这是因为我们通过items=invoice>/ invoice将项目聚合绑定到发票上。
webapp/i18n/i18n.properties
# App Descriptor
appTitle=Hello World
appDescription=A simple walkthrough app that explains the most important concepts of SAPUI5
# Hello Panel
showHelloButtonText=Say Hello
helloMsg=Hello 0
homePageTitle=Walkthrough
helloPanelTitle=Hello World
openDialogButtonText=Say Hello With Dialog
dialogCloseButtonText=Ok
# Invoice List
invoiceListTitle=Invoices
Parent topic: WalkthroughIn the text bundle the title of the list is added.
Previous: Step 19: Reuse Dialogs
Next: Step 21: Data Types
Related Information
List Binding (Aggregation Binding)
ui5-文档-4.20-aggregationbinding(代码片段)
现在我们已经为我们的应用建立了一个良好的结构,是时候添加更多的功能了。通过添加一些JSON格式的发票数据,我们开始探索数据绑定的更多特性,这些发票数据显示在面板下面的列表中。 Preview Alistofinvoicesisdisplayedbe... 查看详情
ui5-文档-2-开发环境
这一部分将指导您安装、配置和设置SAPUI5开发环境的最常见和推荐用例。请注意:您可以在不同的平台上使用SAPUI5。各自平台的许可和维护条件也适用于SAPUI5。例如,如果在SAP云平台上使用SAPUI5工具,则适用SAP云平台的许可和维... 查看详情
ui5-文档-4.3-controls(代码片段)
现在是时候构建我们的第一个小UI了,将HTML主体中的“HelloWorld”文本替换为SAPUI5控件sap.m.Text。首先,我们将使用JavaScript控件接口来设置UI,然后将控件实例放入HTML体中。Preview The"HelloWorld"textisnowdisplayedbyaSAPUI5controlCodin... 查看详情
ui5-文档-4.35-responsiveness(代码片段)
在这一步中,我们将改进应用程序的响应能力。SAPUI5应用程序可以在手机、平板电脑和桌面设备上运行,我们可以对应用程序进行配置,以便为每个场景充分利用屏幕空间。幸运的是,SAPUI5控件类似于sap.m.Table已经提供了许多我... 查看详情
ui5-文档-4.21-datatypes(代码片段)
发票清单已经很好看了,但是没有指定价格的发票是什么?通常价格以技术格式存储,并带有‘。数据模型中的分隔符。例如,我们的菠萝发票上的计算价格是87.2,没有货币。我们将使用SAPUI5数据类型正确地格式化价格,使用一... 查看详情
ui5-文档-4.19-reusedialogs(代码片段)
在此步骤中,我们将扩展重用概念,并在组件级别调用对话框。在步骤16中,我们创建了一个对话框作为片段,以使其可跨视图或跨整个应用程序重用。但是我们将检索对话框实例和分别打开和关闭对话框实例的逻辑放置在HelloPa... 查看详情
ui5-文档-2.1-使用openui5开发应用(代码片段)
使用OpenUI5和您选择的开发环境(编辑器和Web服务器)开发应用程序。您可以下载所有的源代码,也可以参考OpenUI5的在线版本。 下载OpenUI5 下载和安装OpenUI5的默认方式是从http://openui5.orgInformation的OpenUI5主页获取运行时,该主... 查看详情
如何从 ui5 应用程序注销并重定向到另一个 ui5 应用程序登录?
】如何从ui5应用程序注销并重定向到另一个ui5应用程序登录?【英文标题】:HowtoLogoutfromaui5appandgetredirectedtoanotherui5applogin?【发布时间】:2020-03-0319:43:01【问题描述】:我开发了各种UI5应用,如果我想注销其中一个,所有UI5应用... 查看详情
SAP UI5 + Yarn = 不运行
】SAPUI5+Yarn=不运行【英文标题】:SAPUI5+Yarn=doesnotrun【发布时间】:2020-02-2108:15:27【问题描述】:信息:NPM也有同样的问题我想创建一个UI5项目,但UI5应该使用NPM或Yarn导入。我从演练第12步下载了示例:https://sapui5.hana.ondemand.com/#/... 查看详情
html所有ui5控件的常用功能(代码片段)
open(sap)ui5学习入门系列之一:扫盲与热身(下)
1 UI5代码结构上一次我们一起用了20秒的时间完成一个UI5版的HelloWorld。应用打开后有一个按钮,按钮的文字是HelloWorld,点击这个按钮之后,按钮会慢慢的消失掉(Fadeout)。那我们这次就来看一看为了实现这么一个简单的功能,O... 查看详情
UI5 - XML 片段中的格式化程序只执行一次。如何再次运行它们?
】UI5-XML片段中的格式化程序只执行一次。如何再次运行它们?【英文标题】:UI5-FormattersinXMLfragmentareexecutedonlyonce.Howtorunthemagain?【发布时间】:2018-03-0515:55:36【问题描述】:当一个sap.ui.xmlfragment被UI5渲染时,格式化程序只执行一... 查看详情
jerry的ui5框架代码自学教程
SAPUI5对View元素基于jQuery的操作方式,使得其学习曲线相对Angular/React来说比较平缓,至少对于我个人而言是这样。对于已经有jQuery经验的前端开发人员来说很容易上手。使用UI5开发SAPUI应用,在开发过程中往往会遇到各种各样的... 查看详情
sapfiori和ui5的初学者导航
你是UI5和Fiori的新手?来对地方了。对我来说,今年是不得不“跟上时代”去提升自己ABAP世界以外的技术技能的困难的一年。幸运的是,有很多可免费获得的信息和课程可以帮你实现这个跳跃。不要等着别人送你去训练&mda... 查看详情
ui5-学习篇-1-开发工具及环境搭建(代码片段)
最近研究SAP-UI5好几个月了,将相关学习经历及问题点做个记录。1.先了解学习资料相关站点 SAP官网:https://www.sap.com/china/index.html SAP开发工具:https://tools.hana.ondemand.com/#sapui5 UI5 Documentation:https://openui5.hana.ondemand.co... 查看详情
SAP UI5 CDS Annotation,设置搜索过滤标签
】SAPUI5CDSAnnotation,设置搜索过滤标签【英文标题】:SAPUI5CDSAnnotation,setsearchfilterlabel【发布时间】:2019-03-1200:25:39【问题描述】:我是SAP和UI5的新手。我在SE11中创建了一个表,并在eclipseABAP透视图中创建了一个CDS视图。我已经在... 查看详情
如何在 SAP UI5 代码中生成 UUID? [复制]
】如何在SAPUI5代码中生成UUID?[复制]【英文标题】:HowdoIgenerateaUUIDinSAPUI5code?[duplicate]【发布时间】:2020-09-2310:04:25【问题描述】:我知道如何在node.js中使用npm管理的库(如uuid)来做到这一点。但是在基于浏览器的SAPUI5JavaScript... 查看详情
sapfiorilaunchpadtile,ui5应用,和pfcgrole的对应关系
问题:已经看到了SAPFioriLaunchpad上的某个tile,如何反推后台需要配置哪个PFCGRole才能看到该tile?这个问题是今天一个朋友在微信上问我的。因为我最近忙着学习一个新的SAP产品,所以这个问题也没有时间展开来写,本文就只做概... 查看详情