• Step 21: Data Types


    Step 21: Data Types

    https://ui5.sap.com/#/topic/dfe04650afc046e0802abb1a1a90d2d9

    上一节的json文件里只有价格,但是没有币种,UI5通过使用Data Types,可以根据币种的不同,自动格式化价格数字,
    比如虽然价格的数字是一样的,但是日元和美元的表示格式是不同的。

    webapp/view/InvoiceList.view.xml

    <mvc:View
       controllerName="sap.ui.demo.walkthrough.controller.InvoiceList"
       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}"
    		number="{
    			parts: [{path: 'invoice>ExtendedPrice'}, {path: 'view>/currency'}],
    			type: 'sap.ui.model.type.Currency',
    			formatOptions: {
    				showMeasure: false
    			}
    		}"
    		numberUnit="{view>/currency}"/>
    	</items>
       </List>
    </mvc:View>
    

    1,追加了controller
    2,number and numberUnit属性:在每一个条目的右侧显示价格和币种
    3,type属性,通过币种的data type的不同,格式化数字
    4,在number属性上使用了特殊的binding syntax 。这种绑定语法利用了所谓的“计算字段”,它允许将来自不同模型的多个属性绑定到控件的单个属性。parts代表多个model,这里用了2个model,一个是invoice>ExtendedPrice,一个是view>/currency.
    5,Currency type是根据币种的不同,格式化数字。由于Invoices.json文件里没有币种,所以加了一个controller,负责返回币种。
    6,numberUnit属性,在价格的下面显示币种。
    7,showMeasure属性,如果是true的话,则在价格后面显示币种,因为加了numberUnit属性,所以这里设置成false就可以,或者整体不要formatOptions属性。

    webapp/controller/InvoiceList.controller.js (New)

    sap.ui.define([
    	"sap/ui/core/mvc/Controller",
    	"sap/ui/model/json/JSONModel"
    ], function (Controller, JSONModel) {
    	"use strict";
    
    	return Controller.extend("sap.ui.demo.walkthrough.controller.InvoiceList", {
    
    		onInit : function () {
    			var oViewModel = new JSONModel({
    				currency: "EUR"
    			});
    			this.getView().setModel(oViewModel, "view");
    		}
    
    	});
    });
    

    约定:尽可能使用Data Types,不要使用自定义的格式化数字的程序。

    vx:xiaoshitou5854

  • 相关阅读:
    WCF客户端链接服务超时客户端close
    C# byte数组常用扩展浅析(转)
    代码生成相关工具及技术
    已处理证书链,但是在不受信任提供程序信任的根证书中终止。
    清理SQL Server数据库日志的两种方法
    开源框架项目列表
    SQL Server数据库文件恢复技术
    VS2008找不到导出模板
    jquery 学习笔记(二)
    方法的参数的默认值设置
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/15232216.html
Copyright © 2020-2023  润新知