找回密码
 立即注册

QQ登录

只需一步,快速开始

neil
论坛元老   /  发表于:2011-5-19 10:20:00
11#

回复 10# chenke79 的帖子

我不知道你所说的“在点更新数据库按钮时” 你做了什么操作。   所以不知道这个时候有什么合适的时机。

但是,如果你是对Cell一个一个的校验的话,就可以使用我上面说的第一种方法的。
GcMultiRow1.CurrentCellPosition = New GrapeCity.Win.MultiRow.CellPosition(0,1)
GcMultiRow1.BeginEdit(True)
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-5-19 10:32:00
12#
1 :“在点更新数据库按钮时”就是对数据库进行更新,更新之前会对画面上的项目进行验证.

2:GcMultiRow1_CellValidating也有问题:
我在其中做了数字验证(用isnumeric),感觉很奇怪:
第一次我输入了1,鼠标移开,OK
第二次我输入了a,鼠标移开,也OK?
第三次我输入了1,鼠标移开,报数字验证失败,调试发现,CELL的值是上次输入的"a".

这是怎么回事呢
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-5-19 10:37:00
13#

回复 12# chenke79 的帖子

应该使用cell的EditedFormattedValue属性来获取当前正在编辑的值,Cell在编辑状态的时候,这个属性表示你当前输入的值,如果cell不在编辑状态,它表示cell实际的格式化值,此时,它通常跟cell的value一样。  

而cell的value属性总是实际存储的值,就是你上一次校验正确后存储下去的值。
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-5-19 10:41:00
14#
是的,可以了非常感谢.我对MULTIROW还是很不熟啊..
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-5-19 10:42:00
15#

回复 14# chenke79 的帖子

不客气,有任何问题欢迎提问。。我们会以最快的速度帮您解决。:Z
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-5-19 11:22:00
16#
又有问题:
GcMultiRow1_CellValidating在这里,我除了做验证,也对CELL的输入内容进行了编辑,比如数字我加上了分隔符.也就是对CELL.value进行了数字格式编辑后的设置
做完处理后,监视变量,可以看到这个
CELL.value = 1,234
CELL.displaytext= 1,234
CELL.EditedFormattedValue= 1234

处理完后,CELL里显示的是没有分隔符的1234

这是怎么回事呢
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-5-19 11:43:00
17#
不好意思,自己找到答案了

在设置数字格式时,要做在GcMultiRow1_CellValided里.
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-5-19 11:57:00
18#

回复 16# chenke79 的帖子

呵呵, 还是你没有理解对啊。
你该的是value,不会立即出现在你的编辑框中。

另外,我觉得你这个加分隔符的操作实现方法不太正确:
请参考这两个帖子:
http://gcdn.grapecity.com/showtopic-1481.html
http://gcdn.grapecity.com/showtopic-1528.html

看看对你有帮助没,要是不行,你再发帖,我们再帮你看。:Z
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部