找回密码
 立即注册

QQ登录

只需一步,快速开始

chenf1980

论坛元老

41

主题

147

帖子

9349

积分

论坛元老

积分
9349

活字格认证

chenf1980
论坛元老   /  发表于:2011-6-5 18:17  /   查看:5454  /  回复:2
private void gcMultiRow1_CellValidating(object sender, GrapeCity.Win.MultiRow.CellValidatingEventArgs e)

        {

            if (e.FormattedValue != null && e.CellName == "textBoxCell1" && e.FormattedValue.ToString().Length  > 5)

            {

                e.Cancel = true;

                MessageBox.Show("Error");

            }



        }

该代码焦点是能回到单元格了,但是我现在需要的是,如果输入长度超过5位,那么原先单元格的内容保持不变,而不是新输入的内容。

gcMultiRow1.item(e.rowindex,e.cellindex).value = gcMultiRow1.item(e.rowindex,e.cellindex).formatedvalue

结果是断点进去后,发现值是原先的值,但是运行完毕之后,发现单元格的值还是后面输入的值。

2 个回复

倒序浏览
neil
论坛元老   /  发表于:2011-6-7 10:25:00
沙发

回复 1# chenf1980 的帖子

如果不想接受输入的值,调用GcMultirow 的CancelEdit();  而不需要设置e.Cancel属性。
回复 使用道具 举报
chenf1980
论坛元老   /  发表于:2011-7-9 19:30:00
板凳
如果值是错误的话,我还想把值清空的话呢,请问应该怎么做
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部