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的更多相关文章

  1. MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建

    前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...

  2. 数据库之mysql篇(3)—— mysql创建/修改数据表/操作表数据

    创建数据表:create table 数据表名 1.创建表规范 create table 表名( 列名   数据类型    是否为空   自动排序/默认值  主键/外键/唯一键, 列名   数据类型 ...

  3. MySQL:数据表基本操作

    数据表基本操作 注意点: 1.数据表中已经有数据时,轻易修改数据类型,有可能因为不同的数据类型的数据在机器 中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据类型. 2.  数据表 ...

  4. oracle:查询数据表是否存在

    oracle:查询数据表是否存在 select count(*) as NUM from all_tables where table_name = '{$table}' 或者: select cou ...

  5. mysql之约束以及修改数据表

    数据约束的分类: ———————————————————————————————————————————————————— 外键约束的要求解析: //在my文件中的这句话代表着搜索引擎,如果不是的就需 ...

  6. 孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数

    孤荷凌寒自学python第四十七天通用跨数据库同一数据库中复制数据表函数 (完整学习过程屏幕记录视频地址在文末) 今天继续建构自感觉用起来顺手些的自定义模块和类的代码. 今天打算完成的是通用的(至少目 ...

  7. 【Hadoop】HIVE 数据表 使用

    3 使用 3.1 数据导入 3.1.1 可以使用命令行导入,也可以直接上传到HDFS的特定目录 3.1.2 格式问题 3.1.2.1 缺失/不合法字段默认值为NULL 3.1.2.2 最好数据是格式化 ...

  8. Sql Server中清空所有数据表中的记录

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable  @Command1 ='truncate table ?'删除所有数据 ...

  9. mysql 造1亿条记录的单表--大数据表

    读写文件 背景及木:现有数据1000w单表,为压力测试准备1亿条数据. 步骤: 1.将1000w条记录,除id外都导入到多个文件中: //DELIMITER DROP PROCEDURE if EXI ...

随机推荐

  1. shell编程系列15--文本处理三剑客之awk格式化输出printf

    shell编程系列15--文本处理三剑客之awk格式化输出printf printf的格式说明符 格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o ...

  2. 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法

    原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15   14:26 - ...

  3. ROS tf广播编写

    博客参考:https://www.ncnynl.com/archives/201702/1310.html ROS与C++入门教程-tf-编写tf broadcaster(广播) 说明: 介绍如何广播 ...

  4. 函数和宏实现打印的增强myprintf

    函数和宏实现打印的增强

  5. Qt编写气体安全管理系统23-类型设置

    一.前言 类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号.探测器数量.探测器型号.气体种类.气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后 ...

  6. Eureka 与 zookeeper 的区别、

    前言在微服务的开发过程中,如果使用的是 Dubbo 那就必须使用到 Zookeeper ,在使用 Spring Cloud Eureka 时,自然其功能更强大得多.博主也不得不感叹,Spring Cl ...

  7. SignalR 传Model类型的参数

    目录 集线器方法 js调用 集线器方法 集线器写了一个方法是这样的 public void test(string name, Customer customer) 第一个参数是string类型的,第 ...

  8. 【Leetcode_easy】893. Groups of Special-Equivalent Strings

    problem 893. Groups of Special-Equivalent Strings 题意: 感觉参考代码也是有点问题的... 参考 1. Leetcode_easy_893. Grou ...

  9. nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本。

    nodemon运行 提示错误:无法加载文件 C:\Users\gxf\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁止运行脚本. 这是你笔记本禁止运行脚本,解决办法 ...

  10. Vue + ElementUI的电商管理系统实例01 登录表单

    效果图: 1.首先来根据Element网站实现布局: <template> <div class="login_container"> <div cl ...