找回密码
 立即注册

QQ登录

只需一步,快速开始

yinzhm

初级会员

32

主题

129

帖子

339

积分

初级会员

积分
339

活字格认证微信认证勋章

yinzhm
初级会员   /  发表于:2014-7-1 20:07  /   查看:7235  /  回复:4
好!
DenpyoMan升级到MultiRow
(1)MultiRow的CellLeave事件不支持Cancel,因此我使用CellValidating事件处理。但是有一点疑问,我在CellValidating事件中将Cancel设置为true,使焦点不发生移动。  但是仍然会触发该Cell的CellEnter获得焦点事件,既然焦点都没有移动为什么还要触发这个事件呢。是有什么其他考虑吗?   
PS:不知道其他表格控件是否也是这样,但是DenpyoMan不是这样。
(2)MultiRow先触发CellLeave事件,再触发CellEndEdit事件,而IsCurrentCellInEditMode是在CellXXXEdit事件中变更的,因此在CellLeave事件中取得IsCurrentCellInEditMode是无意义的,因为它一定是true。测试是这样。
PS:DenpyoMan的事件触发顺序是相反的。

这两种控件诸如此类的却别真的很多,升级纠结啊。
我看葡萄城也推荐DenpyoMan升级到MultiRow,有没有升级的帮助文档或Demo之类的东东,以供参照……

4 个回复

倒序浏览
dafo
版主   /  发表于:2014-7-2 14:04:00
沙发
非常抱歉,DenpyoMan是一个很老的基于ActiveX技术的产品,GcMultiRow是为了.NET平台下打造的全兴产品,虽然两个产品在产品概念上有一些相似,但是从技术层面和平台来看都有很多的细节的变化,以及一些功能设计的变化,所以GcMultiRow是一个全新的产品,并且GcMultiRow所有的事件触发时机基本和微软.NET平台控件保持一致(例如DataGridView)。
所以你如果是旧项目升级改造,一些业务逻辑可能任然需要修改。我们没有详细和细节的两个产品升级的帮助文档,非常抱歉。
回复 使用道具 举报
dafo
版主   /  发表于:2014-7-2 14:25:00
板凳
关于你的1,2问题,我们的策略和微软标准.NET控件(DataGridView)策略保持一致,请参考标准策略。
问题2:如果单元格不进入编辑状态,这是选择其他单元格,CellLeave事件中取得IsCurrentCellInEditMode是false.
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-7-2 17:32:00
地板
回复 3楼dafo的帖子

好的,了解了!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-7-2 18:14:00
5#
回复 4楼yinzhm的帖子

有问题欢迎开新帖交流。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部