找回密码
 立即注册

QQ登录

只需一步,快速开始

szpzr

高级会员

139

主题

554

帖子

1763

积分

高级会员

积分
1763

活字格认证

szpzr
高级会员   /  发表于:2016-3-22 08:17  /   查看:3766  /  回复:5
本人想在编辑单元格后通过数据表检验数据输入的有效性,输入数据后用KeyPress事件必须按二次回车才到下一单元格,看了其他帖子的方法也无法实现,或者无法触发数据效验,那位高手有好方法赐教!

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-22 18:58:00
沙发
您试试下面的方法,在退出编辑后进行处理

  1. private void fpSpread1_EditModeOff(object sender, EventArgs e)
  2.         {

  3.             var cell = fpSpread1.Sheets[0].ActiveCell;
  4.             if (cell != null && cell.CellType is CurrencyCellType)
  5.             {
  6.                 var v = cell.Value;
  7.                 if (true)
  8.                 {
  9.                     cell.Value = "";
  10.                     fpSpread1.Sheets[0].SetActiveCell(cell.Row.Index, cell.Column.Index);
  11.                 }
  12.             }
  13.         }
复制代码

评分

参与人数 1满意度 +5 收起 理由
szpzr + 5

查看全部评分

回复 使用道具 举报
szpzr
高级会员   /  发表于:2016-3-23 18:10:05
板凳
谢谢您的指点,按照您的思路,我用:if (fpSpread2.ActiveSheet.ActiveColumnIndex  == 0)条件在每一列上触发事件,发现焦点直接定位到最后一列的单元格上,啊有办法按一列一列移动焦点?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-24 11:26:19
地板
szpzr 发表于 2016-3-23 18:10
谢谢您的指点,按照您的思路,我用:if (fpSpread2.ActiveSheet.ActiveColumnIndex  == 0)条件在每一列上触 ...

不是很明白您的需求,您做什么操作让焦点定位在最后一个单元格上。
回复 使用道具 举报
szpzr
高级会员   /  发表于:2016-3-24 12:46:11
5#

far

本帖最后由 szpzr 于 2017-5-3 13:31 编辑

      far
捕获.PNG
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-24 14:31:55
6#
我建议你单步跟踪一下这段逻辑代码,应该是这部分有问题。
比如你用了一个   if(true),这明显不可能执行else部分的逻辑。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部