SAP UI5 应用开发教程之七十五 - 如何采用SAP UI5 主从表格的联动技术显示复杂表格内容试读版

简介: SAP UI5 应用开发教程之七十五 - 如何采用SAP UI5 主从表格的联动技术显示复杂表格内容试读版

一套适合 SAP UI5 初学者循序渐进的学习教程

教程目录


说明

Jerry 从 2014 年加入 SAP成都研究院 CRM Fiori 开发团队之后开始接触 SAP UI5,曾经在 SAP 社区和“汪子熙”微信公众号上发表过多篇关于 SAP UI5 工作原理和源码解析的文章。


在 Jerry 这篇文章 对 SAP UI5 一无所知的新手,从哪些材料开始学习比较好? 曾经提到,Jerry 也是从 SAP UI5 菜鸟一路走过来,深知只有 ABAP 开发背景的开发者,向 SAP UI5 开发领域转型的不易,因此我在业余时间设计了这份适合 SAP UI5 初学者的学习教程,把开发一个完整的 SAP UI5 应用的流程,拆分成若干个步骤,力求每个步骤里,把涉及到的知识点都涵盖到。这些知识点可能不像我的 UI5 源码分析系列文章那么深入,但力求浅显易懂,便于 SAP UI5 初学者理解。


本教程每一个步骤的源代码,都存放在我的 Github 上,分别用文件夹 01,02,03 等等来标识。


每一个步骤均是前一步骤的基础上,添加了若干新特性。建议零基础或者对 SAP UI5 知之甚少的初学者,按照顺序从第一个步骤开始循序渐进地学习,把这些代码下载到本地,配合教程的文字讲解,自己动手,以加深理解。

大家如果对教程的每个步骤有任何疑问,欢迎在教程对应的步骤文章里给我评论,进行留言。


主从表格联动效果,也是 SAP 项目中一个常见的需求。本步骤实际上就来源于一位朋友在知乎上向我发起的咨询。


所谓主从表格联动,就是应用界面上同时显示了两张表格,第一张表格为主表,选择主表任意一行之后,在第二张表格即次表上,继续显示该选中行项目的明细信息。


我们来看一个实际的例子。


假设我们有一张表格,从左到右的列,依次显示每个人的姓,名,年龄和他的朋友信息。


由于每个人可能拥有不止一个朋友,因此对于同一个行项目,其 朋友 列可能不止同一行。比如上图中,李四有三个朋友,王五和赵二分别有两个朋友。


对于这种一个行项目的某一列可能会具有多条数据的复杂结构,会导致如上图所示,每个行项目在表格里显示的高度都有差异,从视觉效果上来说,会给用户带来 UI 风格不一致的感受。


避免这种用户体验问题,遵循 SAP Fiori 设计准则的一种实现方法就是主从联动表。

其 朋友 列可能不止同一行。比如上图中,李四有三个朋友,王五和赵二分别有两个朋友。


对于这种一个行项目的某一列可能会具有多条数据的复杂结构,会导致如上图所示,每个行项目在表格里显示的高度都有差异,从视觉效果上来说,会给用户带来 UI 风格不一致的感受。


避免这种用户体验问题,遵循 SAP Fiori 设计准则的一种实现方法就是主从联动表。

将姓名和年龄显示的信息放到主表里,当主表的某一行被选中时,在从表中显示这一行数据对应的明细数据。

按照本步骤完成之后,我们会得到下面这个外观的 SAP UI5 应用:

选中主表的某个行项目后,会以从表的方式,显示该行项目代表的人,所拥有的所有朋友的信息。不难看出,采用主从表格联动之后,无论主表还是从表,其行项目的高度都能保持统一,且人-朋友关系的信息展示更加清楚和一目了然。

下面是详细的实现步骤。

相关文章
|
5月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
5月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
|
5月前
|
存储
三种不同的控制 CRM UI Assignment Block 显示与否的技术
三种不同的控制 CRM UI Assignment Block 显示与否的技术
|
5月前
|
XML 数据处理 数据格式
什么是 SAP UI5 XML Templating 技术
什么是 SAP UI5 XML Templating 技术
|
5月前
|
缓存 JavaScript 前端开发
如何理解 SAP UI5 的 sap.ui.define 函数?
如何理解 SAP UI5 的 sap.ui.define 函数?
|
2月前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
50 0
|
3月前
|
编解码 前端开发 图形学
【技术深度解析】多平台适配下的UI适配难题:U3D游戏UI错乱的终极解决方案
【7月更文第12天】随着移动设备市场的多元化,Unity游戏开发者面临的一大挑战是如何在不同分辨率和屏幕尺寸的设备上保持UI的一致性和美观性。游戏在高分辨率平板与低分辨率手机上呈现出的UI布局混乱、按钮错位等问题,严重影响玩家体验。本文旨在探讨Unity UI(UGUI)在多平台适配中的最佳实践,通过优化Canvas Scaler设置、灵活运用RectTransform和Anchor Points,以及高效利用设计工具,确保UI的完美适配。
458 1
|
5月前
|
开发框架 前端开发 JavaScript
【Flutter前端技术开发专栏】Flutter中的动态UI构建与数据驱动视图
【4月更文挑战第30天】Flutter是一款高效跨平台移动开发框架,以其热重载、高性能渲染和丰富组件库著称,简化了动态UI和数据驱动视图的实现。本文深入讨论了动态UI构建原理,包括基于Widget树模型的UI更新和状态管理,如使用StatefulWidget和数据流库(如Provider、Redux)。此外,文中还介绍了实现技巧,如使用ListView等可滚动组件、StreamBuilder进行数据流驱动的UI更新,以及应用响应式布局以适应不同设备。Flutter为开发者提供了构建高效动态界面的强大工具。
163 0
【Flutter前端技术开发专栏】Flutter中的动态UI构建与数据驱动视图
|
5月前
|
前端开发 测试技术 持续交付
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试
【4月更文挑战第30天】本文探讨了 Flutter 应用中UI测试和自动化测试的重要性,包括保障质量、提高效率和增强开发信心。Flutter提供`flutter_test`库进行Widget测试,以及`flutter_driver`进行集成测试。UI测试涵盖界面布局、交互和状态变化的验证,最佳实践建议尽早引入测试、保持用例简洁,并结合手动测试。未来,随着Flutter技术发展,UI测试和自动化测试将更加完善,助力开发高质量应用。
179 0
【Flutter 前端技术开发专栏】Flutter 中的 UI 测试与自动化测试