UI5-技术篇-SAP UI5数据表进行了比较:sap.m.Table与sap.ui.table.Table
https://a.kabachnik.info/sap.m.table-vs-sap.ui.table.table-features-compared.html
SAP UI5数据表进行了比较:sap.m.Table与sap.ui.table.Table
SAPUI5和OpenUI5都为数据表提供了两种完全不同的控件:它们在Fiori样式指南中称为“网格表”(sap.ui.table.Table)和“响应表”(sap.m.Table)。顾名思义,一个是响应式的,更适合移动应用程序,而另一个更面向桌面。但是还有很多不同之处!麻烦的是,从一张桌子切换到另一张桌子的努力非常高,所以在做出选择时要仔细考虑!
功能比较
特征 | 响应表 | 网格表 |
---|---|---|
控制名称 | sap.m.Table | sap.ui.table.Table |
响应性:在小屏幕上折叠列 | ✔ | |
响应性:在小屏幕上隐藏列 | ✔ | 通过脚本 |
动态列宽(与内容成比例) | ✔ | |
可调整大小的列(拖动列边框) | ✔ | |
通过单击标题进行列排序 | ✔ | |
列标题菜单(如在Excel中) | ✔ | |
列标题自定义单击操作 | ✔ | |
列分组(标题范围,多标题) | ✔ | |
列冻结 | ✔ | |
列页脚/总行数 | ✔ | |
粘头 | ✔ | |
顶部/行冻结的行 | ✔ | ✔ |
滚动 | 整行 | 只有数据 |
自动高度(填写整页) | ✔ | |
单元格中的自定义小部件 | 任何 | 有限 |
单元格中的输入 | ✔ | ✔ |
多排电池 | ✔ | |
行分组 | ✔ | 有限 |
自定义组标题(例如小计,计数) | ✔ | |
可折叠的行组 | ✔ | |
行详细信息(可扩展行) | 通过TreeTable | |
行单击操作 | ✔ | 试验 |
行双击动作 | 通过浏览器事件 | 通过浏览器事件 |
行右键单击操作(例如上下文菜单) | 通过浏览器事件 | ✔ |
行选择 | ✔ | ✔ |
行多选 | ✔ | ✔ |
行多选与复选框 | ✔ | ✔ |
单元格合并/行跨度/合并重复 | ✔ | |
通过按钮分页 | 弃用 | 弃用 |
通过无限滚动分页 | 只有oData | 只有oData |
自定义滚动操作 | ✔ | |
拖放 | ✔ | ✔ |
标题工具栏 | ✔ | ✔ |
页脚工具栏 | ✔ | |
结构化数据/树 | 通过面包屑 | 通过TreeTable |
Fiori指南
SAP本身sais:选择适合您需求的表格。关于在Fiori指南中选择正确的控制,有一整章。我建议你阅读它,因为它比较了数据表示所有控件:列表,表格,树木等也有短的功能概述 这里。简而言之,ui-table(sap.ui.table.Table
)建议用于较大的数据集(> 1000行),而响应式m-table(sap.m.Table
)则用于所有其他情况 - 它应该看起来更好,更灵活,等等
在引擎盖下
从技术上讲,两个表格控件非常不同。虽然ui-table是具有行和列的典型数据表,但m-table实际上是一个列表(基于sap.m.ListBase),每个列表项被拆分为列。
API也完全不同。没有办法快速从一个表切换到另一个表,所以如果你发现自己需要另一个表的功能 - 它基本上是再次编写所有代码。
外观和感觉
对于我来说,m-table确实看起来更好 - 就像Fiori风格指南所暗示的那样。它也感觉更自然,因为整个表格滚动而不仅仅是数据。但是,它并不是真正的互动。您所能做的就是滚动或选择项目 - 默认情况下不进行排序,过滤等。
我们期望从数据表中获得所有舒适功能,例如标题排序,列过滤器,列大小调整等,仅在ui-table中可用。列标题菜单非常棒!另一方面,没有列宽优化器,因此基本上所有列都太宽或太窄。反过来,此功能仅在m表中可用。另一方面,您无法在此处手动调整列宽。从某种意义上说,它既可以舒适地处理,也可以是一个很好的概述 - 从不同时进行。
滚动实际上是表之间的巨大差异。ui-table使用虚拟滚动:当数据从一行跳到另一行时,网格保持放置状态。这对于单元格中的图像不起作用,如果多行具有相似的数据,则看起来也很奇怪。另一方面,ui-table可以自动调整它的高度以适应容器,m-table不能。
分组和汇总数据
当涉及到诸如列,单元格或行分组等更高级的功能时,事情会变得复杂。出于某种原因,行分组仅在m表中正确支持,而不是在ui表中,理论上这应该是复杂数据的选择。合并细胞也是如此。另一方面,对列进行分组仅适用于ui表(尽管非常有限)。
在任何情况下,列总数都是一个问题:虽然m表只是不支持它们,但是ui-table至少有一个粘性底行,你可以用脚本放置总数。不幸的是,这些固定行受到所有内置排序和过滤功能的影响,因此使用for totals实际上并不是一件容易的事。然而,两个表都有页脚栏,所以如果你只需要一个总值,那么将它放在那里相当容易。
UI5-技术篇-SAP UI5数据表进行了比较:sap.m.Table与sap.ui.table.Table的更多相关文章
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据
创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名 数据类型 是否为空 自动排序/默认值 主键/外键/唯一键, 列名 数据类型 ...
- MySQL:数据表基本操作
数据表基本操作 注意点: 1.数据表中已经有数据时,轻易修改数据类型,有可能因为不同的数据类型的数据在机器 中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据类型. 2. 数据表 ...
- oracle:查询数据表是否存在
oracle:查询数据表是否存在 select count(*) as NUM from all_tables where table_name = '{$table}' 或者: select cou ...
- mysql之约束以及修改数据表
数据约束的分类: ———————————————————————————————————————————————————— 外键约束的要求解析: //在my文件中的这句话代表着搜索引擎,如果不是的就需 ...
- 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数
孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...
- 【Hadoop】HIVE 数据表 使用
3 使用 3.1 数据导入 3.1.1 可以使用命令行导入,也可以直接上传到HDFS的特定目录 3.1.2 格式问题 3.1.2.1 缺失/不合法字段默认值为NULL 3.1.2.2 最好数据是格式化 ...
- Sql Server中清空所有数据表中的记录
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable @Command1 ='truncate table ?'删除所有数据 ...
- mysql 造1亿条记录的单表--大数据表
读写文件 背景及木:现有数据1000w单表,为压力测试准备1亿条数据. 步骤: 1.将1000w条记录,除id外都导入到多个文件中: //DELIMITER DROP PROCEDURE if EXI ...
随机推荐
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...
- 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法
原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15 14:26 - ...
- ROS tf广播编写
博客参考:https://www.ncnynl.com/archives/201702/1310.html ROS与C++入门教程-tf-编写tf broadcaster(广播) 说明: 介绍如何广播 ...
- 函数和宏实现打印的增强myprintf
函数和宏实现打印的增强
- Qt编写气体安全管理系统23-类型设置
一.前言 类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号.探测器数量.探测器型号.气体种类.气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后 ...
- Eureka 与 zookeeper 的区别、
前言在微服务的开发过程中,如果使用的是 Dubbo 那就必须使用到 Zookeeper ,在使用 Spring Cloud Eureka 时,自然其功能更强大得多.博主也不得不感叹,Spring Cl ...
- SignalR 传Model类型的参数
目录 集线器方法 js调用 集线器方法 集线器写了一个方法是这样的 public void test(string name, Customer customer) 第一个参数是string类型的,第 ...
- 【Leetcode_easy】893. Groups of Special-Equivalent Strings
problem 893. Groups of Special-Equivalent Strings 题意: 感觉参考代码也是有点问题的... 参考 1. Leetcode_easy_893. Grou ...
- nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本。
nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本. 这是你笔记本禁止运行脚本,解决办法 ...
- Vue + ElementUI的电商管理系统实例01 登录表单
效果图: 1.首先来根据Element网站实现布局: <template> <div class="login_container"> <div cl ...