找回密码
 立即注册

QQ登录

只需一步,快速开始

格落

注册会员

3

主题

20

帖子

165

积分

注册会员

积分
165
最新发帖
格落
注册会员   /  发表于:2020-12-2 10:05  /   查看:3911  /  回复:15
本帖最后由 格落 于 2020-12-3 11:15 编辑

使用OutlineColumn显示层级时,没有合并时可以正常使用,效果如图一,合并了行单元格后有层级关系,但是没有显示Indicator,如图二。
image.png969183349.png
图一
image.png652950133.png
图二
image.png550409240.png
image.png241638488.png

15 个回复

倒序浏览
格落
注册会员   /  发表于:2020-12-2 10:35:59
沙发
SpreadJs是13版本,GCExcel是3.2.3版本。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-12-2 13:57:53
板凳
能否提供一下您这边设置的代码和数据,我们重现一下问题,最好的话能抽离出一个完整demo,这样方便快速定位问题。
回复 使用道具 举报
格落
注册会员   /  发表于:2020-12-2 17:31:34
地板
本帖最后由 格落 于 2020-12-3 09:53 编辑
ClarkPan 发表于 2020-12-2 13:57
能否提供一下您这边设置的代码和数据,我们重现一下问题,最好的话能抽离出一个完整demo,这样方便快速定位 ...

代码和数据设置如下:
//OutlineColumn设置
workSheet.Outline.SummaryRow = SummaryRow.Above;
workSheet.ShowRowOutline = false;
workSheet.OutlineColumn.ColumnIndex = 1;
workSheet.OutlineColumn.ShowImage = true;
workSheet.OutlineColumn.SetCollapsed(1, true);

//数据
string start1 = "B5";
string end1 = "B20";
IRange elementRange1 = Worksheet.Range[$"{start}:{end}"];
elementRange1.Value = "合计";
elementRange1.IndentLevel = 0;
elementRange1.Merge();

string start2 = "B21";
string end2 = "B36";
IRange elementRange2 = Worksheet.Range[$"{start}:{end}"];
elementRange2.Value = "一期";
elementRange2.IndentLevel = 1;
elementRange2.Merge();

string start3 = "B37";
string end3 = "B52";
IRange elementRange3 = Worksheet.Range[$"{start}:{end}"];
elementRange3.Value = "二期";
elementRange3.IndentLevel = 1;
elementRange3.Merge();
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-12-2 17:59:33
5#
模板能发我一下吗?原始模板和输出到前端的模板
回复 使用道具 举报
格落
注册会员   /  发表于:2020-12-2 18:46:17
6#
ClarkPan 发表于 2020-12-2 17:59
模板能发我一下吗?原始模板和输出到前端的模板

你好,这是输出到前端的ssjson模板文件。

合并单元格ssjson.rar

6.76 KB, 下载次数: 40

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-12-3 09:40:54
7#
是这样的,分组列的功能本身底层就是依赖outlines去实现的,其实就是outlines的另一种表现形式。如果再设置outlines实际上打乱了原本分组列的功能,导致无法实现,这里两者只能取其一,不能同时使用。
回复 使用道具 举报
格落
注册会员   /  发表于:2020-12-3 09:56:52
8#
ClarkPan 发表于 2020-12-3 09:40
是这样的,分组列的功能本身底层就是依赖outlines去实现的,其实就是outlines的另一种表现形式。如果再设置 ...

上面写错了,我是参考你们分组列的Demo设置的OutlineColumn,现在是因为合并了单元格后导致没有现在Indicator,没有合并的时候就是好的。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-12-3 10:14:06
9#
具体是哪里单元格合并了呢?看你图一第一列有合并也是好的,所以应该不是第一列
其他地方我没看到有合并的地方,图二有问题的图,没有分组列的效果是因为额外设置了outlines
回复 使用道具 举报
格落
注册会员   /  发表于:2020-12-3 10:21:04
10#
ClarkPan 发表于 2020-12-3 10:14
具体是哪里单元格合并了呢?看你图一第一列有合并也是好的,所以应该不是第一列
其他地方我没看到有合并的 ...

这里要说明2点,1、我这边使用的时候,发现分组列的功能只能设置一列为分组列,展示指定列上的层级关系,图一、图二是设置不同的列为分组列的效果;
2、图一设置了C列为分组列,没有合并单元格是可以显示Indicator,可以在列上正常收缩的;图二设置B列为分组列,合并了单元格,就不可以显示Indicator,不能在列上像图一那样收缩;这里我显示了分组,是为了看层级关系是否还在,实际上是存在的。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部