使用 Enter 键导航到 AG-Grid 中下面的单元格

2023-12-22

我们需要编辑单元格导航AG-Grid但我没有找到一种方法来做我们需要的事情。这不是一个巨大的变化,但对我们的用户来说却是至关重要的变化。我们需要的导航规则类似于Google Spreadsheet单元格导航。

应适用以下规则:

  • 紧迫enter将聚焦单元格(默认)
  • 紧迫enter再次将停止编辑+ 将焦点移动到下面的单元格
  • Shift+输入应该停止编辑+ 将焦点移至上方单元格
  • 方向键 和 Tab 等应该像平常一样工作

我们正在使用 AngularJS。


EDIT:

AG-Grid 已添加此功能!文档在这里。 https://www.ag-grid.com/javascript-grid-cell-editing/#enter-key-down

原始(过时)答案:

我们最终在 AG-Grid 论坛上询问。没有简单或干净的方法可以做到这一点。基本上,您向网格添加一个事件,该事件侦听按下“Enter”的声音,然后手动将焦点向下移动一行。

当“Enter”事件被触发时,您必须知道用户当前是否正在编辑,并且还要注意用户是否在最后一行。

gridDiv.addEventListener('keydown', function(evt) {
  if(editing && evt.key === 'Enter') {
      var currentCell = gridOptions.api.getFocusedCell();
      var finalRowIndex = gridOptions.api.paginationGetRowCount()-1;

      // If we are editing the last row in the grid, don't move to next line
      if (currentCell.rowIndex === finalRowIndex) {
          return;
      }
      gridOptions.api.stopEditing();
      gridOptions.api.clearFocusedCell();

      gridOptions.api.startEditingCell({
        rowIndex: currentCell.rowIndex + 1,
        colKey: currentCell.column.colId
      });
  }
});

编辑标志在网格选项中手动管理。

var editing = false;

var gridOptions = {
    columnDefs: columnDefs,
    rowData: students,
    onCellEditingStarted: function (evt) {
        editing = true;
    },
    onCellEditingStopped: function (evt) {
        editing = false;
    }
};

这是一个工作中的 plunker 示例:
https://plnkr.co/edit/quhyS05SSVzmuDlCErZD?p=preview https://plnkr.co/edit/quhyS05SSVzmuDlCErZD?p=preview

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Enter 键导航到 AG-Grid 中下面的单元格 的相关文章

随机推荐

  • 为什么 Safe Haskell 不支持 Template Haskell?

    的文档安全哈斯克尔 http www haskell org ghc docs latest html users guide safe haskell html states 不幸的是 Haskell 模板可用于破坏模块边界 因此可用于访
  • Flutter Firebase:检索文档列表,仅限于数组中的 ID?

    我正在开发一个 Flutter 应用程序 每个用户都可以创建项目并与其他用户共享项目 我创建了一个 共享 集合 其中每个用户的 ID 都是一个文档 在该文档中 与该用户共享的所有项目 ID 都像这样收集 并使用一个布尔值来表示共享是否已被共
  • 将 NSLayoutConstraints 与 CALayer 支持的视图相结合无法正确设置动画

    我有一个自动布局设置 其中的动画可以更改 NSLayoutConstraint 常量值 set the slide in view s initial height to zero self adViewHeightConstraint N
  • 告诉 LLDB 忽略文件

    有没有办法告诉 LLDB 忽略文件 即在调试时跳过该文件中的代码 这可以用作解决方法1 https stackoverflow com questions 12439318 debug issues with libc in xcode 4
  • Elasticsearch:在.../jdk/bin/java 的捆绑 jdk 中找不到 java

    当我尝试运行 bin elasticsearch 时 出现以下错误 在 home ubuntu Elastic 的捆绑 jdk 中找不到 java 搜索 elasticsearch 7 8 0 jdk bin java 我完全不知道发生了什
  • 从文件句柄获取文件名?

    我连接了 ntdll dll 的 NtCreateFile 函数来允许 拒绝某些文件的访问 与 kernel32 dll 的 CreateFile 函数不同 它可以轻松地为您提供相关文件的完整路径 而 ntdll dll 的 NtCreat
  • 如何从字典创建数据框,其中每个项目都是 PySpark 中的一列

    我想从字典中创建一个新的数据框 该字典包含作为键的列名称和作为值的列数据列表 例如 col dict col1 1 2 3 col2 4 5 6 我需要这个作为数据框 如下所示 col1 col2 1 4 2 5 3 6 似乎没有一个简单的
  • 远程登录PHP

    我在访问远程网站时遇到代码问题server2来自另一个网站server1 我在 server2 内部使用的登录代码如下 require once http server2 com access models config php if se
  • 是否可以向匿名类添加属性而不是仅覆盖其方法?

    我想知道是否可以在 JAVA 中向匿名类添加属性 maby 是一个简单的问题 但这里的技巧是我在 google 上看到一些代码正在这样做 但当我在 Netbeans 中尝试时 它没有发生 我以匿名方式创建了该类的一个实例 但我没有覆盖该方法
  • 如何在 Python 和 Opencv 中检测八边形形状

    我正在研究一个shape检测算法opencv in python 我正在使用库中的轮廓 并且已成功检测到一些形状 圆形 矩形和三角形 唯一的问题是我只需要检测圆形 矩形和八边形 此外 这个圈子正在发挥作用 但不稳定 所以 这是我的代码 im
  • 在 Firebase Cloud Messaging 上通过 XMPP 传递上游消息的误解

    我正在尝试在我的应用程序中设置 FCM 功能 目前 我想显示一个按钮 以便当用户按下该按钮时生成一条上游消息 该消息被发送到 Google 的 CCS 据我了解 该上游消息将被 Google CCS 转换为 XMPP 节 然后 它将被传送到
  • jQuery post on window.unload(窗口或浏览器关闭)

    当用户以任何方式离开页面时 我需要发送一个发布请求 到目前为止 这就是我所拥有的 但它不起作用 window unload function post http localhost project quizTime php action u
  • ElasticSearch:如何禁用所有分片的分片重新分配?

    我为elasticsearch开发了一个搜索插件 但是在升级这个插件时 我需要一个一个地关闭节点 并且每次都需要等待很长时间的重新分配过程 在文件中 它说可以通过以下方式停止重新分配过程 curl XPUT localhost 9200 c
  • 如何在 WPF 中创建/制作圆角按钮?

    我需要创建一个圆角光泽按钮在 WPF 中 谁能解释一下需要什么步骤吗 我知道这篇文章非常旧 但我有一个答案 上面令人惊讶地缺失了 而且比大多数答案简单得多
  • Python 中的 return 是什么意思? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在整个互联网上搜索了这句话的含义return陈述 我知道它结束了定义语句 但我知道它仍然做了其他事情 它还有什么作用 It return
  • 电子邮件中正确的换行符是什么? LF 还是 CRLF?

    最近 一些客户抱怨他们收到乱码电子邮件 显示 MIME 标头和 Base64 编码数据等 这些内容应该由邮件客户端解码 经过调查 我发现一些邮件客户端 例如 gmx de webmail 在每隔一行之后插入一个空行 因此确实搞乱了一切 凭直
  • 从 golang 结构体生成 proto 文件

    我有一个 golang 结构 其中包含对其他一些结构的引用 是否有一种自动方法从结构生成 proto 文件 例如 type A struct a int b B type B struct c C type C struct x int 应
  • 日期代码在 JS 中不起作用

    我敢打赌这真的很愚蠢 但我很累 想快速逃脱 所以请纵容我 目标是能够向由字符串构造的日期添加任意天 例如2015 01 01 firstDate 2015 01 01 var t1 date new Date firstDate t1 da
  • 如何透视 MS Access 表

    我有以下内容Data 表 人 我怎样才能重现以下内容Results 不 没有订单 也没有 ID 这是由一个存储基本数据的普通人完成的 我正在尝试生成这些结果以将其存储到 postgres 服务器中 我看到了分区的使用 但实际上我不知道如何以
  • 使用 Enter 键导航到 AG-Grid 中下面的单元格

    我们需要编辑单元格导航AG Grid但我没有找到一种方法来做我们需要的事情 这不是一个巨大的变化 但对我们的用户来说却是至关重要的变化 我们需要的导航规则类似于Google Spreadsheet单元格导航 应适用以下规则 紧迫enter将