找回密码
 立即注册

QQ登录

只需一步,快速开始

lfw1230

注册会员

1

主题

7

帖子

16

积分

注册会员

积分
16
最新发帖
lfw1230
注册会员   /  发表于:2016-3-17 08:37  /   查看:9499  /  回复:11
fpSpread2.ActiveSheet.RemoveSpanCell(tmpRow, 0);
fpSpread2.ActiveSheet.AddSpanCell(row , 0, 2, 3);
用这个设置单元格的合并与拆分时,行数计算正确但是合并的结果不对,这个应该怎么处理
fpSpread2.Sheets[0].SetRowMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.None);
fpSpread2.Sheets[0].SetColumnMerge(-1, FarPoint.Win.Spread.Model.MergePolicy.Restricted);
这个合并单元格两个参数是什么意思
如果用这个合并单元格如图的样式能合并吗两个小计合并成一个,前三列合并成一列合计
190.jpg

11 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-3-17 09:45:15
沙发
1. “行数计算正确但是合并的结果不对”  结果怎么不对,我需要知道你想要的结果和实际的具体区别在哪里,最好能有截图。
2. 前面的数字是索引,-1表示所有行(列),后面就是合并策略了。None表示不合并。
回复 使用道具 举报
lfw1230
注册会员   /  发表于:2016-3-17 10:17:27
板凳
gw0506 发表于 2016-3-17 09:45
1. “行数计算正确但是合并的结果不对”  结果怎么不对,我需要知道你想要的结果和实际的具体区别在哪里, ...

fpSpread2.ActiveSheet.RemoveSpanCell(tmpRow, 0);
tmpRow = row;         
fpSpread2.ActiveSheet.AddSpanCell(row , 0, 2, 3);
这三行代码的意思是
先拆分上次合并的单元格再合并单元格
tmpRow是全局变量记录上次合并单元格的行号
图1是选择3时“合计”的合并结果没问题row=12
图2是选择5时的结果row=16这时“合计”单元格并没有合并,上次的合并单元格已拆分
11.jpg
12.jpg
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-17 10:51:07
地板
lfw1230 发表于 2016-3-17 10:17
fpSpread2.ActiveSheet.RemoveSpanCell(tmpRow, 0);
tmpRow = row;         
fpSpread2.ActiveShee ...

对于图2,应该用这样的index参数
  1. fpSpread2.ActiveSheet.AddSpanCell(14 , 1, 2, 2);
复制代码
回复 使用道具 举报
lfw1230
注册会员   /  发表于:2016-3-17 13:04:29
5#
gw0506 发表于 2016-3-17 10:51
对于图2,应该用这样的index参数

图二要合并的是最后一行“合计”
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-17 14:12:40
6#
本帖最后由 gw0506 于 2016-3-17 14:15 编辑

你要先把第2,3列的单元格做行合并,然后再合并有“合计”的这三列。
  1. this.fpSpread1.ActiveSheet.AddSpanCell(17, 1, 2, 1);
  2. this.fpSpread1.ActiveSheet.AddSpanCell(17, 2, 2, 1);
  3. this.fpSpread1.ActiveSheet.AddSpanCell(17, 0, 2, 3);
复制代码


回复 使用道具 举报
lfw1230
注册会员   /  发表于:2016-3-17 22:29:39
7#
gw0506 发表于 2016-3-17 14:12
你要先把第2,3列的单元格做行合并,然后再合并有“合计”的这三列。

这样不对啊,还是如图2的样子,没有合并
回复 使用道具 举报
lfw1230
注册会员   /  发表于:2016-3-17 22:40:42
8#
现在代码是这样的
fpSpread2.ActiveSheet.RemoveSpanCell(tmpRow, 0);
tmpRow = row;         
fpSpread2.ActiveSheet.AddSpanCell(row , 0, 2, 3);
我说的操作过程是这样的
第1种情况.先选择3月份再选择5月份
结果如图1,2所示这样
第2种情况.先选择5月份再选择3月份
结果没有问题如图770.jpg
回复 使用道具 举报
lfw1230
注册会员   /  发表于:2016-3-17 22:41:23
9#
770.jpg
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-3-18 11:35:21
10#

我这没有问题,你看demo吧。你的代码里没有看到先合并 第2,3列的两行。问题应该在这。 SpanCellTest.rar (9.65 KB, 下载次数: 367)
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部