回复 2楼Alice的帖子
我已经找到原因了,通过自定义的一个实现IMergeManager接口的类MyMergeManager来管理C1FlexGrid的合并单元格时,我直接把C1FlexGrid的Selection值交给MyMergeManager了。由于C1FlexGrid的Selection跟鼠标拖动的方向有关,(row2,col2)代表起始点,(row,col)代表鼠标最后落脚点;这就造成从左上角往右下角拖动选择单元格 和 从右下角向左上角拖动选择单元格 的Selection,其(row,col)和(row2,col2)正好相反。但是MyMergeManager里GetMergedRange方法并不管这两个哪个是左上角第一个单元格,它只按你拖动时最后的落脚点来代表整个合并区域,所以如果从左上角往右下角拖动时,直接把C1FlexGrid的Selection交给MergeManager处理,它默认把右下角的那个单元格作为合并区域的代表。再次但是,C1FlexGrid从头开始重新描绘单元格时,是按合并区域的左上角第一个单元格作为代表描绘的,两个相冲突,造成双击的时候无法显示编辑效果,此时随便输入内容也是赋值给右下角的单元格 |