醉汀雨笙 发表于 2020-12-28 16:21:54

grid 單元格按enter 按指定步長跳轉

grid單元格如何使用enter 鍵跳轉到該單元格的后三個單元格。

KevinChen 发表于 2020-12-28 16:21:55

第二个Demo即可满足条件,参考以下代码:

import 'bootstrap.css';
import '@grapecity/wijmo.styles/wijmo.css';
import './styles.css';
import * as wjGrid from '@grapecity/wijmo.grid';
import * as wjInput from '@grapecity/wijmo.input';
import * as wjCore from '@grapecity/wijmo';
import { getData } from './data';
//
document.readyState === 'complete' ? init() : window.onload = init;
//
function init() {
    //
    // create the grid
    var theGrid = new wjGrid.FlexGrid('#theGrid', {
      itemsSource: getData(),
      allowAddNew: true
    });
    //
    // use ctrl+Delete to delete the current row
    var theDialog = new wjInput.Popup('#theDialog');
    theGrid.hostElement.addEventListener('keydown', function (e) {
      var view = theGrid.collectionView;
      //
      // looking for ctrl+Delete
      if (e.keyCode == wjCore.Key.Enter && view.currentItem) {
            //
            // prevent the grid from getting the key
            e.preventDefault();
            //
            console.log(theGrid.selection);
            theGrid.select(theGrid.selection.row, theGrid.selection.col +3);
      }
    }, true);
}


替换掉第二个Demo的app.js即可看到效果。

注意,这段代码仅演示实现逻辑,没有判断总列数,请结合自己的业务逻辑加判断。

KevinChen 发表于 2020-12-28 18:16:19

您好,注意到您之前提过类似的问题,参考帖子:
https://gcdn.grapecity.com.cn/showtopic-84129-1-1.html

如果是键盘事件的问题,可以参考这篇示例:
https://www.grapecity.com/wijmo/demos/Grid/Events/Keyboard/purejs

醉汀雨笙 发表于 2020-12-29 08:54:19

這個是在編輯中,或者編輯結束後發生的跳轉,我想要的是不發生編輯,直接跳轉,請問寫在哪個事件裡面?

醉汀雨笙 发表于 2020-12-30 16:31:44

逻辑已实现,请结帖。
谢谢。~~

Richard.Ma 发表于 2020-12-30 16:52:17

好的
页: [1]
查看完整版本: grid 單元格按enter 按指定步長跳轉