• 【新特性速递】单元格导航(上下左右键,TAB键和ENTER键)


    上下左右按键

    其实单元格导航(上下左右按键,需要启用表格的ShowSelectedCell属性)一直都存在,只不过之前的版本(v5.5.0)有一些小的BUG。

    BUG1

    比如锁定列存在时,上下左右键只能在锁定表格或者主表格导航,可以看示例:https://pro.fineui.com/#/grid/grid_lockcolumn_editor_cell_new.aspx

    新版本(v5.6.0)会修正这个问题,使用左右键导航时,会从锁定表格自然跨到主表格,不会局限于某个表格内:

    同时还有一个和之前版本不一致的地方,新版本(v5.6.0)中左右键导航时,如果在最右侧单元格按下右键,是没有反应的(老版本会调到下一行)。

    同样,新版本(v5.6.0)中上下键导航时,如果在最下方单元格按下向下按键,也是没反应(不会调到下一列),这样就比较统一。

    BUG2

    另一个BUG存在于树表格,由于部分节点隐藏,所以上下左右按键时会选中隐藏的行,这样界面上就没有任何选中的效果了,测试示例:

    https://pro.fineui.com/#/gridtree/gridtree_celleditor.aspx

    新版本(v5.6.0)实现这个效果会更复杂,因为我们在新版本重构了树表格的DOM结构,从单层 TR 改为 TR-TD-TABLE 的嵌套结构,所以少不了各种递归,不过我们还是实现了这个效果:

    其实最复杂的实现莫过于 锁定列和树表格 同时存在的情况,我们特意写了个示例测试这种情况:

    https://pro.fineui.com/#/gridtree/gridtree_celleditor_lockcolumn.aspx

    看起来很简单哈,其实内部的逻辑有点复杂,涉及左右两个表格,每个表格里面又有2-3层的表格嵌套。

    我们对此进行了深入思考,并公开了 4 个客户端函数,方便网友自行扩展,它们是:getNextRowEl, getPrevRowEl, getNextCellEl, getPrevCellEl

    TAB键和ENTER键

    既然上下左右键用来在单元格之间导航,那么TAB键和ENTER键又用来做什么呢?很多网友可能会被搞晕掉,其实很简单:

    1. 上下左右键用于在单元格之间导航,需要启用ShowSelectedCell或者启用单元格编辑(非编辑状态)

    2. TAB键和ENTER键仅用于单元格编辑,用来在单元格编辑之间快速切换

    看下这个示例的TAB键导航情况:

    https://pro.fineui.com/#/gridtree/gridtree_celleditor_lockcolumn.aspx

    很多网友不知道,如果你按下 Shift+Tab 键,就会反方向切换单元格,看下效果:

    同时,我们还支持上下方向导航,只需要启用 TabVerticalNavigate="true" 属性即可,此时的TAB导航效果:

    除了TAB键,还可以让 ENTER 键实现单元格编辑的快速导航,这些规则都记录在在线示例中,可以自行查询:

    匠心品质,你值得拥有!

    加入知识星球下载FineUIPro/Mvc/Core的基础版

    不忘初心,砥砺前行!

  • 相关阅读:
    Qt源文件和ui文件的关系
    使用moveToThread线程并正确回收内存的方式
    mysql设置某字段不可重复
    使用curl创建简单的性能监控工具
    你是不是那个带不动的队友
    这样的面试你能通过吗
    浅谈测试观
    自动化测试如何准备测试数据
    关于双十二崩盘的一些思考
    浅谈测试环境
  • 原文地址:https://www.cnblogs.com/sanshi/p/11291635.html
Copyright © 2020-2023  润新知