在本教程的前一步骤 SAP UI5 初学者教程之十九 - SAP UI5 数据类型和复杂的数据绑定 里,我们已经开发了一个具有金额和货币显示的发票列表,效果如下图所示:

本步骤我们继续对这个发票列表添加一些额外的效果。如果发票金额大于 50,就用红色高亮这个金额。

效果如下图所示:


本步骤源代码位置:https://github.com/wangzixi-diablo/ui5-tutorial/tree/main/20

下面是详细实现步骤和原理解析。

所谓表达式绑定(expression binding),其使用场合是,当我们需要在 UI 上显示一些数据,这些数据并没有在后台直接持久化存储,而是动态计算而成。一个最简单易懂的例子,就是我们在 UI 显示每个员工的年龄,但是后台只存储了员工的出生年份。因此,UI 显示年龄的逻辑,可以用下列表达式来计算:

年龄 = 当前年份 - 该员工出生年份

上面就是数据绑定话题里一个典型的表达式的例子。

回到本文的例子,我们只需要在 InvoiceList.view.xml 文件里,为列表的标准字段,numberState,绑定一个表达式:

${invoic

SAP UI5 应用开发教程之二十 - SAP UI5 的表达式绑定用法讲解相关推荐

  1. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  2. SAP UI5 应用开发教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解

    从本教程 24 步骤开始,我们接触了 OData 模型.本地学习 SAP UI5 应用开发时,如果直接消费远端的 OData 服务,就会遇到跨域错误. 步骤 24 SAP UI5 初学者教程之二十四 ...

  3. SAP UI5 应用开发教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题

    在本教程的前一篇文章:SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型 我们试图在本地运行的 SAP UI5 应用(localhost:8080)里, 访问远端的 OData 服 ...

  4. SAP UI5 应用开发教程之二十七 - SAP UI5 应用的单元测试工具 QUnit 介绍

    Jerry 在之前做 SAP UI5 标准开发和现在使用 Angular 开发 SAP Spartacus 应用时,我们团队的开发规范就是,每增添一个新的前端 feature,必须要用一个新增的单元测 ...

  5. SAP UI5 应用开发教程之二十九 - SAP UI5 的路由和导航功能介绍

    本教程目前为止的二十八个步骤,我们开发的 SAP UI5 仅仅包含了一个单独的页面.本步骤我们将额外开发一个新的页面,并学习如何在这些不同的页面之间进行路由(route)和导航(navigation) ...

  6. SAP UI5 应用开发教程之二十一 - SAP UI5 的自定义格式器(Custom Formatter)

    前一个步骤,我们已经通过 SAP UI5 的表达式绑定功能,给发票列表增添了动态高亮某些字段的功能: 对应的绑定表达式的值如下: 可以看到这些绑定表达式是直接在 XML 视图里编写的.如果自定义的逻辑 ...

  7. SAP UI5 应用开发教程之二十八 - SAP UI5 应用的集成测试工具 OPA 介绍

    本教程前一步骤,我们介绍了 SAP UI5 单元测试工具 QUnit 的使用方法.本步骤介绍测试金字塔模型中位于单元测试上层的集成测试在 SAP UI5 中的实现工具:OPA. 本步骤对应的源代码位于 ...

  8. SAP UI5 应用开发教程之二十四 - 如何使用 OData 数据模型

    本教程之前的二十三个步骤,使用的数据模型都是 JSON 模型.从本步骤开始,我们要学习另一种非常重要的数据模型:OData 数据模型. OData 数据模型也是 SAP 产品里广泛使用的数据模型,比如 ...

  9. SAP UI5 应用开发教程之四十一 - Chrome 扩展 UI5 Inspector 的离线安装和使用方法试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. CCNA10月27日战报
  2. Laravel提交POST请求报错
  3. [2020.10.30NOIP模拟赛]字符串水题【SA,树状数组】
  4. 如何在Mac计算机上轻松查找和删除类似照片
  5. ORA-28056:Writing audit records to Windows EventLog failed的问题
  6. 洛谷——P1909 [NOIP2016 普及组] 买铅笔
  7. 计算机软件技术信息安全哪个好,国内哪个大学的计算机安全专业最好?
  8. Hibernate原生SQL查询
  9. X86平台下基于grub2+busybo+linux-2.6.36制作linux系统
  10. 哈工大SCIR Lab | EMNLP 2019 结合单词级别意图识别的stack-propagation框架进行口语理解...
  11. 教程 | xampp mysql的可视化界面出现
  12. DUMP-CX_SY_OPEN_SQL_DB-DBSQL_DUPLICATE_KEY_ERROR
  13. RGB在线取色器,可视化三通道颜色
  14. 各邮箱服务商的接收、发送邮件服务器地址、端口号
  15. 群晖服务器创建文件夹,群晖Synology 创建共享文件夹视频图文教程
  16. 设计模式(二)—— 策略模式(其实就是面向接口编程的应用场景!)
  17. Chapter9.2:线性系统的状态空间分析与综合(上)
  18. 定时报警器课程设计(基于单片机)
  19. cfg格式文件在服务器哪里,cfg文件,小编教你怎么打开cfg文件
  20. 2022年,谁在推动产业数字化进入“奇点”时刻?

热门文章

  1. Error creating bean with name ‘cn.cyjt.shoot.service.UserServiceTests‘: Unsatisfied dependency expre
  2. php的toast,使用toast组件实现提示用户忘记输入用户名或密码功能
  3. 线段树之线段操作之陈老师的福利
  4. HTML5前端知识分享:Vue入门
  5. 对java:comp/env的研究
  6. java synchronized wait
  7. IIS企业案例系列之七:发布Exchange OWA之SSL桥接模式
  8. 关于Oracle数据库中行迁移/行链接的问题(一)
  9. HtmlAgilityPack的简单使用
  10. PON的技术优势及前景应用