找回密码
 立即注册

QQ登录

只需一步,快速开始

诸葛曹
注册会员   /  发表于:2016-11-4 11:43  /   查看:3456  /  回复:3
本帖最后由 诸葛曹 于 2016-11-4 12:01 编辑

Spread打开Excel后,编辑excel表单的单元格会触发什么事件,需要对编辑的值做验证

比如我只需要对某个表单中的某一列单元格数据做编辑验证,能支持么?如何实现?

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-4 14:18:36
沙发
有 ValueChanged 事件。或者用EditModeOff事件是退出编辑状态时候触发。

也可以使用celltype的validate
比如设置TextCellType  的MaxLength  属性
回复 使用道具 举报
诸葛曹
注册会员   /  发表于:2016-11-7 10:40:54
板凳
本帖最后由 诸葛曹 于 2016-11-7 14:37 编辑
dexteryao 发表于 2016-11-4 14:18
有 ValueChanged 事件。或者用EditModeOff事件是退出编辑状态时候触发。

也可以使用celltype的validate
...

有EditModeOff事件的示例代码么,比如验证当前单元格编辑后的值是否为“编辑前值+字符串”的格式

可否用  FarPoint.Win.Spread.CellType.RegularExpressionCellType regularExpressionCellType = new FarPoint.Win.Spread.CellType.RegularExpressionCellType();
            regularExpressionCellType.Format("aa");方式实现?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-11-8 10:01:06
地板
FpSpread2_EditModeOff 的方式如下。 RegularExpressionCellType 您也可以使用,他的效果是無法輸入不符合正則的效果,看您需求了。

            fpSpread2.EditModeOff += FpSpread2_EditModeOff;


        private void FpSpread2_EditModeOff(object sender, EventArgs e)
        {
            var value = fpSpread2.ActiveSheet.ActiveCell.Value;
            if (value != null)
            {
                if (!System.Text.RegularExpressions.Regex.IsMatch(value.ToString(), @"^[A-Za-z]*.?$"))
                {
                    MessageBox.Show("字母開頭");
                    fpSpread2.EditMode = true;
                }
            }
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部