找回密码
 立即注册

QQ登录

只需一步,快速开始

liuwei19840201

中级会员

28

主题

67

帖子

504

积分

中级会员

积分
504

微信认证勋章

liuwei19840201
中级会员   /  发表于:2017-11-8 15:17  /   查看:3035  /  回复:3
本帖最后由 liuwei19840201 于 2017-11-8 19:43 编辑

版本Spread10.0  winForm
问题:
Spread 处于编辑状态下,按下方向键 [左]或者[右] 希望跳到,前一个单元格或者后一个单元格。
请问如何设置。

编辑的值不能丢失。

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-8 19:05:50
沙发
接编辑控件的按键处理

  1.         private void FpSpread1_EditModeOff(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.EditingControl.KeyDown -= Control_KeyDown;
  4.         }

  5.         private void FpSpread1_EditModeOn(object sender, EventArgs e)
  6.         {
  7.             if (fpSpread1.EditingControl is FarPoint.Win.Spread.CellType.GeneralEditor)
  8.             {
  9.                 var control = (fpSpread1.EditingControl as GeneralEditor);
  10.                 control.KeyDown += Control_KeyDown;
  11.             }
  12.         }

  13.         private void Control_KeyDown(object sender, KeyEventArgs e)
  14.         {
  15.             var code = e.KeyCode;

  16.             if (e.KeyCode == Keys.Left)
  17.             {
  18.                 fpSpread1.StopCellEditing();
  19.                 var action = fpSpread1.GetActionMap().Get(FarPoint.Win.Spread.SpreadActions.MoveToPreviousColumnVisual);
  20.                 action.PerformAction(fpSpread1.GetRootWorkbook());
  21.             }
  22.             else if (e.KeyCode == Keys.Right)
  23.             {
  24.                 fpSpread1.StopCellEditing();
  25.                 var action = fpSpread1.GetActionMap().Get(FarPoint.Win.Spread.SpreadActions.MoveToNextColumnVisual);
  26.                 action.PerformAction(fpSpread1.GetRootWorkbook());
  27.             }
  28.         }
复制代码

回复 使用道具 举报
liuwei19840201
中级会员   /  发表于:2017-11-8 19:42:14
板凳
非常感谢,问题解决。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-11-9 09:23:41
地板
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部