找回密码
 立即注册

QQ登录

只需一步,快速开始

醉汀雨笙

金牌服务用户

21

主题

93

帖子

336

积分

金牌服务用户

积分
336

微信认证勋章

醉汀雨笙
金牌服务用户   /  发表于:2020-12-4 10:02  /   查看:2986  /  回复:3
1金币
首先选定一个默认的单元格。该单元格编辑结束后,跳向此单元格后三个的单元格位置。默认选中第一行的start 编辑结束后,自动跳转到 第一行的Product 此单元格编辑结束后,自动跳转到第二行的start......以此类推,请问可以实现这个功能吗?


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

最佳答案

查看完整内容

你好,这个需求用事件可以解决,参考以下代码: 测试地址: https://demo.grapecity.com.cn/wijmo/demos/Grid/Events/Editing/purejs 替换app.js后,编辑Sales列可以看到效果。

3 个回复

倒序浏览
最佳答案
最佳答案
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-4 10:02:08
来自 2#
你好,这个需求用事件可以解决,参考以下代码:

  1. import 'bootstrap.css';
  2. import '@grapecity/wijmo.styles/wijmo.css';
  3. import './styles.css';
  4. import * as wjGrid from '@grapecity/wijmo.grid';
  5. import * as wjCore from '@grapecity/wijmo';
  6. //
  7. document.readyState === 'complete' ? init() : window.onload = init;
  8. //
  9. function init() {
  10.     //
  11.     // create some random data
  12.     var countries = 'US,Germany,UK,Japan,Sweden,Norway,Denmark'.split(',');
  13.     var data = [];
  14.     for (var i = 0; i < countries.length; i++) {
  15.         data.push({
  16.             id: i,
  17.             country: countries[i],
  18.             sales: Math.random() * 10000,
  19.             expenses: Math.random() * 5000,
  20.             overdue: (i + 1) % 4 == 0
  21.         });
  22.     }
  23.     //
  24.     // show the data in a grid
  25.     var theGrid = new wjGrid.FlexGrid('#theGrid', {
  26.         itemsSource: data,
  27.         columns: [
  28.             { binding: 'id', header: 'ID', width: 50, isReadOnly: true },
  29.             { binding: 'country', header: 'Country', isRequired: true, dataMap: countries },
  30.             { binding: 'sales', header: 'Sales', format: 'n2' },
  31.             { binding: 'expenses', header: 'Expenses', format: 'n2' },
  32.             { binding: 'test', header: 'Test', format: 'n2' },
  33.             { binding: 'overdue', header: 'Overdue' }
  34.         ],
  35.         cellEditEnded: function (s, e) {
  36.             var col = s.columns[e.col];
  37.             var row = e.row;
  38.             if (col.binding == 'sales') {
  39.                 console.log('编辑结束,跳转到Test')
  40.                 setTimeout(()=>{
  41.                     s.selection = new wjGrid.CellRange(row, e.col+2, row, e.col+2);
  42.                 })
  43.             }
  44.         }
  45.     });
  46.     //
  47.     // show log message
  48.     var elLog = document.getElementById('log');
  49.     function showMessage(msg) {
  50.         elLog.innerHTML = msg;
  51.     }
  52. }
复制代码


测试地址:
https://demo.grapecity.com.cn/wi ... ents/Editing/purejs

替换app.js后,编辑Sales列可以看到效果。
回复 使用道具 举报
醉汀雨笙
金牌服务用户   /  发表于:2020-12-4 14:54:37
3#
已测试成功!谢谢。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-12-4 14:58:42
4#
不客气,感谢您的反馈,本贴结帖了,有新的问题欢迎发新帖交流~!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部