找回密码
 立即注册

QQ登录

只需一步,快速开始

mtkj
金牌服务用户   /  发表于:2020-5-15 10:25  /   查看:2501  /  回复:1
在编辑时 嗯向上向下键 跳到上下一个单元格编辑状态

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-5-15 16:26:43
沙发
你好,这个问题实际上就是原生Wijmo input组件加快捷键的问题,

思路就是通过给嵌入到WijmoFlexGrid中的原生input组件添加键盘事件就可以实现,

参考:

https://demo.grapecity.com.cn/wi ... tNumber/Step/purejs

把app.js替换为以下代码就可以看到效果:

  1. import 'bootstrap.css';
  2. import '@grapecity/wijmo.styles/wijmo.css';
  3. import './styles.css';
  4. //
  5. import * as wijmo from '@grapecity/wijmo';
  6. import * as input from '@grapecity/wijmo.input';
  7. //
  8. document.readyState === 'complete' ? init() : window.onload = init;
  9. //
  10. function init() {
  11.     // create several InputNumber controls and assign them formats
  12.     let parent = document.getElementById('inputNumbers'), template = '<div class="form-group">' +
  13.         '<label for={id}>Step {step}: </label>' +
  14.         '<input id={id}>' +
  15.         '</div>';
  16.     //
  17.     ['n0', 'n2', 'c0', 'c2', 'p0', 'p2'].forEach((fmt, i) => {
  18.         let id = 'theInputNumberF' + fmt, step = fmt[0] == 'p' ? 0.1 : (i + 1), html = wijmo.format(template, {
  19.             fmt: fmt,
  20.             id: id,
  21.             step: step
  22.         });
  23.         //
  24.         parent.appendChild(wijmo.createElement(html));
  25.         let theNumber = new input.InputNumber('#' + id, {
  26.             format: fmt,
  27.             step: step
  28.         });

  29.         theNumber.hostElement.addEventListener('keydown', function (e) {
  30.             
  31.             if (e.keyCode == wijmo.Key.Down) {
  32.                 //
  33.                 e.preventDefault();
  34.                 //
  35.                 alert("Down");
  36.             }
  37.             
  38.             if (e.keyCode == wijmo.Key.Up) {
  39.                 //
  40.                 e.preventDefault();
  41.                 //
  42.                 alert("Up");
  43.             }
  44.         }, true);
  45.     });
  46. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部