找回密码
 立即注册

QQ登录

只需一步,快速开始

q406157290

高级会员

124

主题

531

帖子

1359

积分

高级会员

积分
1359

活字格认证

q406157290
高级会员   /  发表于:2015-4-15 16:30  /   查看:6516  /  回复:5





运行图如上所示 还有Demo
只有一列的情况:编辑第一列的某个单元格时 修改完毕 单击同行的rowHeader区域不会触发CellEditEnding和CellEditEnded事件
多列的情况:编辑第一列的某个单元格时 修改完毕 单击同行的rowHeader区域会触发CellEditEnding和CellEditEnded事件
问题:为什么只有一列的情况不触发

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-4-15 18:22:00
沙发
回复 1楼q406157290的帖子

初步调查,如果不设置合并单元格,是可以触发的。
具体原因调查下给你反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-4-15 18:30:00
板凳
目前我的解决方法:
flex.RowHeaders.MouseLeftButtonDown += (sender, e) =>
                        {
                                flex.Selection = new CellRange(-1, -1);
                        };

评分

参与人数 1金币 +100 收起 理由
Alice + 100 帮助论坛其他人解决问题,奖励金币。

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-16 11:05:00
地板
回复 3楼KNight的帖子

谢谢你的反馈。
为了表示感谢,给您分发100金币。可以用于兑换论坛奖品。金币规则:点击进入礼品列表:点击进入

推荐给@q406157290
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-4-16 11:54:00
5#
回复 4楼Alice的帖子

这个也给奖励啊 太好了 呵呵
其实我没有测试出来具体的原因,说下我的测试结果吧,我在CreateCellContentEditor方法中,对base.CreateCellContentEditor(grid, bdr, rng);执行之后,监听了刚创建的C1FlexGridComboBox控件的LostFocus事件和Unloaded事件。当只有一列时,编辑后点击行头时,并没有触发LostFocus和Unloaded事件,也就是说此时的C1FlexGridComboBox控件未释放掉,仍在,鼠标移到单元格上可以看到形状仍然为编辑状态下的鼠标形状,此时只需要单击一下就可以进入编辑了。当有多列时,编辑后点击行头就可以触发LostFocus和Unloaded事件,而在触发LostFocus事件后也就会触发C1FlexGrid的CellEditEnded和CellEditEnding事件了,此时是会释放掉C1FlexGridComboBox控件的。

我发现点击行头的效果是会选中当前一整行,也就是会设置C1FlexGrid的Selection,而只有一列的时候,Selection根本没有变,也就不会触发SelectionChanged事件和重绘单元格,所有就想了个折中的办法,在RowHeaders区域的MouseLeftButtonDown事件里加了一个改变Selection的操作。

我还发现啊,如果只有一行的时候,编辑单元格后再点击列头时,是会触发CellEditEnded和CellEditEnding事件的,这我就郁闷了,然后同样在CreateCellContentEditor中对新创建的C1FlexGridComboBox控件进行监听,监听LostFocus事件,好家伙,即时LostFocus事件里啥都不做,而此时的情况就跟只有一列时编辑单元格后点击行头的情况一模一样。。。好吧,原理机制不清楚的我已经开始凌乱了。。。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-4-16 16:35:00
6#
回复 5楼KNight的帖子

是的。
非常感谢你的回帖,我你这样的热心会员值得推荐和表扬。当然也要给予一定的奖励。

我也对程序进行了分析,也发现因为selection的原因。但具体的方案还没有找到,你很快就拿出方案,真的很厉害。

金币积攒可以用来换取礼物,越多金币奖励越大:)
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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