找回密码
 立即注册

QQ登录

只需一步,快速开始

CalebJin

金牌服务用户

14

主题

47

帖子

111

积分

金牌服务用户

积分
111

活字格认证

CalebJin
金牌服务用户   /  发表于:2013-10-17 11:54  /   查看:9539  /  回复:17
我是新手,
我想合并列,但是当中特定的某几个行不能被合并
For i As Integer = 1 To Title_ColN
            cfg.Cols(i).AllowMerging = True
Next
合并列是通过上面代码实现的,但是如何保持某个行不要被合并,单独显示?

17 个回复

倒序浏览
gw0506
超级版主   /  发表于:2013-10-17 12:27:00
沙发
可以使用自定义合并功能。简单说让不能合并的行把需要合并的单元格区域分成几块,然后分别添加到MergedRangeds接口中。例如:
  1. Me.C1FlexGrid1.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom
  2. row(0).AllowMerging = True
  3. Dim rng As C1.Win.C1FlexGrid.CellRange = C1FlexGrid1.GetCellRange(0, 1, 0, 4)
  4. rng.Data = "Call Log"
  5. C1FlexGrid1.MergedRanges.Add(rng);
  6. ...
复制代码
回复 使用道具 举报
CalebJin
金牌服务用户   /  发表于:2013-10-18 11:01:00
板凳
我现在用到的这张表稍微复杂,表头是两行,有列合并,也有几个行合并。
表的数据我有希望有几个列是自动合并。
这个要怎么弄呢?
如果C1.Win.C1FlexGrid.AllowMergingEnum.Custom的话,就每一个地方都要手动的选择范围。
回复 使用道具 举报
CalebJin
金牌服务用户   /  发表于:2013-10-18 11:03:00
地板
事实上要合并的部分有一个共性,就是表格内容都是字符串,如果是数字,就不可以合并。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-18 11:49:00
5#
对于这个用例,只能用Custom手动合并。确实比较麻烦,不过没有别的办法。
至于你说到的共性,可以在寻找CellRange的算法中利用,比如获取Cell的Text判断其Type然后确定是否纳入某个CellRange。这属于业务逻辑,控件本身控制不了。
回复 使用道具 举报
CalebJin
金牌服务用户   /  发表于:2013-10-18 13:28:00
6#
我发现使用 AllowMergingFixed,来控制表头部分,
而表数据部分用AllowMerging来控制,
纳闷:RestrictRows, RestrictCols是什么意思?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-18 14:10:00
7#
表头部分的Cell是Fixed状态,所以AllowMergingFixed是说对所有Fixed状态的Cell进行Merge。

RestrictRows和RestrictCols的详细描述参见文档:
http://helpcentral.componentone. ... llowMergingEnum.htm
回复 使用道具 举报
CalebJin
金牌服务用户   /  发表于:2013-10-21 11:35:00
8#
有个问题, Cell本身是哪个Class?
还是所有对Cell的操作都通过(RowIndex,ColIndex)的组合在操作?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-10-21 14:13:00
9#
没有Cell类。都是通过行列索引进行操作的。
回复 使用道具 举报
CalebJin
金牌服务用户   /  发表于:2013-10-23 19:48:00
10#
请问按着Ctrl键,然后多选格子,我是想看几个不相连的几个格子的和,
似乎不能多选?还是我的操作有问题。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部