【新特性速递】优化Shift/Ctrl行多选逻辑,和Windows的文件资源管理器保持一致!
别告诉我你不知道
别告诉我你不知道可以使用键盘的 Shift 和 Ctrl 来多选表格行,因为这个在 Windows 文件资源管理器中的常用操作,此时的画风是这样的:
这个动图中进行了如下操作:
1. 选中【董婷婷】
2. 按下 Shift 键,点击【唐超】,此时会选中【董婷婷】和【唐超】之间的全部行
3. 按下 Ctrl 键,点击【康颖颖】,此时会取消选中【康颖颖】
4. 按下 Ctrl 键,点击【董国】,此时会选中【董国】
在这个例子中,综合使用了 Shift 和 Ctrl 和进行表格行的选择,这样可以方便快捷的选取我们所需要的行。
向Windows文件资源管理器看齐!
不过,在进行 Shift 多选时,我们会把每次最后点击的行作为下一次多选的起始行,此时的效果是这样的:
这幅动态的操作是这样的:
1. 选中【刘国】
2. 按下 Shift 键,点击【黄婷婷】,此时会选中【刘国】和【黄婷婷】之间的全部行
3. 按下 Shift 键,点击【徐鹏】,此时会选中【黄婷婷】和【徐鹏】之间的全部行
而这个逻辑和 Windows 文件资源管理器的实现不一致,来看下 Windows 下的选中逻辑:
这里的操作是这样的:
1. 选中【Block】
2. 按下 Shift 键,点击【DataModel】,此时会选中【Block】和【DataModel】之间的全部行
3. 按下 Shift 键,点击【Form】,此时会选中【Block】和【Form】之间的全部行
经过一番思考,我们还是决定和 Windows 文件资源管理器保持一致,毕竟这是大家所熟知和最常用的功能。
新版本(v5.6.0)的改进
在新版本中,我们设定了如下三个规则:
-规则一:最后选中的行作为下次Shift键多选的起始行。
-规则二:使用Shift键多选时,如果起始行处于选中状态,在不改变起始行。
-规则三:使用Ctrl键点选行时,不管行是被选中还是取消选中,本行都作为下次多选的起始行。
看似有点绕口,不过都是为了向 Windows 文件资源管理器看齐,现在再来看看 Shift 多选的操作:
这幅动态的操作是这样的:
1. 选中【刘国】
2. 按下 Shift 键,点击【黄婷婷】,此时会选中【刘国】和【黄婷婷】之间的全部行
3. 按下 Shift 键,点击【徐鹏】,此时会选中【刘国】和【徐鹏】之间的全部行
是不是更合情合理一点。
至于上面的规则的第三点【使用Ctrl键点选行时,不管行是被选中还是取消选中,本行都作为下次多选的起始行】,这个的确有点奇怪,不过看了Windows下的动图你就明白了:
这里的操作是这样的:
1. 选中【Block】
2. 按下 Shift 键,点击【DataModel】,此时会选中【Block】和【DataModel】之间的全部行
3. 按下 Ctrl 键,点击【Config】,此时会取消选中【Config】
4. 按下 Shift 键,点击【Form】,此时会选中【Config】和【Form】之间的全部行
注意最后一个操作,在第3个步骤时,【Config】目录是取消选中的,而第4步操作,则会把【Config】作为起始行。
好吧,我们也照葫芦画瓢,来看看 FineUIPro v5.6.0 中的实现:
详细的操作步骤如下:
1. 选中【刘国】
2. 按下 Shift 键,点击【黄婷婷】,此时会选中【刘国】和【黄婷婷】之间的全部行
3. 按下 Ctrl 键,点击【康颖颖】,此时会取消选中【康颖颖】
4. 按下 Shift 键,点击【杨婷婷】,此时会选中【康颖颖】和【杨婷婷】之间的全部行
希望你能喜欢本次的更新。
加入知识星球下载FineUIPro/Mvc/Core的基础版!
不忘初心,砥砺前行!
【新特性速递】优化Shift/Ctrl行多选逻辑,和Windows的文件资源管理器保持一致!的更多相关文章
- ActiveReports 11 新特性速递
又到了一年一度,翘首期盼的ActiveReports11 即将发布,ActiveReports 10 表控件横空出世,成为中国式复杂报表的救星后,ActiveReports11 又会有哪些令人惊奇的新 ...
- 【新特性速递】单元格导航(上下左右键,TAB键和ENTER键)
上下左右按键 其实单元格导航(上下左右按键,需要启用表格的ShowSelectedCell属性)一直都存在,只不过之前的版本(v5.5.0)有一些小的BUG. BUG1 比如锁定列存在时,上下左右键只 ...
- 【新特性速递】FineUIPro/Mvc/Core 全新移动端访问体验(示例首页)!
移动端支持 虽然 FineUIPro 早在 2016 年就已经完成对移动端的适配工作,并新增了 50 多个官网示例. 并且,我们也新增了一个移动端的首页 http://pro.fineui.com/m ...
- FineUIMvc新特性速递(大间距模式,隐藏菜单垂直滚动条)
即将发布的 FineUIMvc 新版本会引入两个重要的特性,用来提升用户体验,现在就来先睹为快吧: 大间距模式 我们已经支持的显示模式有:紧凑模式,普通模式,大字体模式. 紧凑模式: 普通模式: 大字 ...
- 【新特性速递】树控件结构由单层 TR 改为 TR-TD-TABLE 层级嵌套
FineUIPro/Mvc/Core的下个版本(v6.1.0),我们对树控件进行了优化,由原来的单层 TR 改为 TR-TD-TABLE 层级嵌套,从而做到表里如一. 上个版本(v6.0.0),我们对 ...
- 【新特性速递】CSS3动画增强
FineUIPro/Mvc/Core的下个版本(v6.1.0),我们对多个地方的CSS3动画进行了增强,使得用户体验更好. 1. 树控件启用EnableSingleExpand时,使得展开动画和折叠其 ...
- 【新特性速递】树表格结构由单层 TR 改为 TR-TD-TABLE 层级嵌套!
由于历史原因,在之前实现树表格时,我们有点偷懒,本来应该是层级嵌套的树结构,被我们硬生生的拉平了,请看: 可以看到,basic目录的子节点和basic是在同一级别的,因为此目录尚未展开,所以这些子节点 ...
- 【新特性速递】F.doPostBack的说明文档
FineUIPro/Mvc/Core的下个版本(v6.1.0),我们对客户端JS函数 F.doPostBack 进行了增强,并增加说明文档. 如果你还没有查阅过FineUI的客户端文档,可以收藏下这个 ...
- golang1.16新特性速览
今天是假期最后一天,明天起大家也要陆续复工了.golang1.16也在今天正式发布了. 原定计划是2月1号年前发布的,不过迟到也是golang的老传统了,正好也趁着最后的假期快速预览一下golang1 ...
随机推荐
- spider-通过scrapyd网页管理工具执行scrapy框架
1.首先写一个scrapy框架爬虫的项目 scrapy startproject 项目名称 # 创建项目 cd 项目名称 scrapy genspider 爬虫名称 爬虫网址(www.xxxx) #生 ...
- 前端笔记之Vue(六)分页排序|酷表单实战&Vue-cli
一.分页排序案例 后端负责提供接口(3000) 前端负责业务逻辑(8080) 接口地址:从8080跨域到3000拿数据 http://127.0.0.1:3000/shouji http://127. ...
- sql慢查询工具(配置代码)
# 在mysql的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]中配置懒查询 slow_query_log = ON # 是否已经开启慢查询 long_q ...
- centOS服务器基本命令
1.卸载/安装mySQL:(因为我是该服务器的管理员,所以这些命令都不用在前面加sudo) yum remove mysqlyum install mysql 2.进入根目录 cd / 3.查看cen ...
- Android 安全攻防(二): SEAndroid bionic
转自:http://blog.csdn.net/yiyaaixuexi/article/details/8490886 最近研究SEAndroid,会陆续对各个模块做对比分析,学习移植SELinux至 ...
- Spring Cloud Gateway报错:Unable to start embedded Tomcat
最近搭建Spring Cloud Gateway时启动项目出现如下报错信息: Error starting ApplicationContext. To display the conditions ...
- 用户和组的权限管理/特殊权限和ACL(个人笔记)
个人学习笔记总结 内容包括解释Linux的安全模型解释用户帐号和组群帐号的目的用户和组管理命令理解并设置文件权限默认权限特殊权限ACL介绍安全3A资源分派:Authentication:认证Auth ...
- arm-linux-gcc-4.5.1安装方法
写在前面 之前写了一篇arm-linux-gcc-5.4.0的安装方法,但是后来发现5.4.0这个版本可能有些太新了,所以又找了这个4.5.1版本(低版本),由FriendlyARM(友善之臂)提供, ...
- 【cf915】E. Physical Education Lessons(线段树)
传送门 简单的线段树区间修改区间查询,但是因为数据范围过大,所以采用动态开点的方法(注意一下空间问题). 也可以直接对询问区间的端点离散化然后建树,这种方法时间复杂度和空间复杂度都比较优秀. 给出动态 ...
- poppler
https://github.com/freedesktop/poppler http://www.openjpeg.org/ https://github.com/uclouvain/openjpe ...