找回密码
 立即注册

QQ登录

只需一步,快速开始

品茗-3

金牌服务用户

37

主题

95

帖子

344

积分

金牌服务用户

积分
344

[已处理] 获取合并单元格

品茗-3
金牌服务用户   /  发表于:2018-8-28 16:17  /   查看:4399  /  回复:8

如图,我定位单元格后,colIndex -1 (左边一格),如何先判断左边的这个单元格是合并单元格,
然后返回合并单元格的选择域(ref startRow,ref startCol,ref endRow,ref endCol).
而不是我测试时,返回的是定位单元格左边的单元格,只是视觉上被合并单元格覆盖在下面。
spread1.png

8 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-8-28 16:24:49
沙发
  1. fpSpread1.ActiveSheet.AddSpanCell(0, 0, 2, 2);
  2. FarPoint.Win.Spread.Model.CellRange cr;
  3. cr = fpSpread1.ActiveSheet.GetSpanCell(0, 0);
  4. label1.Text = "The span covers cells " + cr.Row + ", " + cr.Column + ", " + cr.RowCount + ", " + cr.ColumnCount;
复制代码


用GetSpanCell可以获取一个单元格是不是在span区域,如果返回不空则有span
回复 使用道具 举报
品茗-3
金牌服务用户   /  发表于:2018-8-28 16:56:58
板凳
dexteryao 发表于 2018-8-28 16:24
用GetSpanCell可以获取一个单元格是不是在span区域,如果返回不空则有span

fpSpread1.ActiveSheet.AddSpanCell(0, 0, 2, 2);
FarPoint.Win.Spread.Model.CellRange cr;
cr = fpSpread1.ActiveSheet.GetSpanCell(1, 1);
label1.Text = "The span covers cells " + cr.Row + ", " + cr.Column + ", " + cr.RowCount + ", " + cr.ColumnCount;
若用你的代码。获取单元格改下,我要获得的是row=1,col=1的呢,从控件上看cell(1,1)是被合并的,若我代码上定位cell(1,1),我从cell(1,2)左移一个单位定位cell(1,1),但通过GetSpanCell返回的却是不是合并的单元格,只是视觉上被合并单元格覆盖在下面。
回复 使用道具 举报
品茗-3
金牌服务用户   /  发表于:2018-8-28 17:08:56
地板
dexteryao 发表于 2018-8-28 16:24
用GetSpanCell可以获取一个单元格是不是在span区域,如果返回不空则有span

而且,若cr = fpSpread1.ActiveSheet.GetSpanCell(1, 1);
调用GetSpanCell去获取未AddSpanCell的单元格,程序报错。
spread5.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-8-28 17:22:56
5#
image.png703344421.png

cr是CellRange 对象,不是bool
回复 使用道具 举报
品茗-3
金牌服务用户   /  发表于:2018-8-28 18:16:53
6#
dexteryao 发表于 2018-8-28 17:22
cr是CellRange 对象,不是bool

这个我查到问题了,普通单元格没加过AddSpanCell的通过GetSpanCell返回的是null,
返回bool是我异常返回值的问题,此贴可以结了,谢谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-8-29 09:06:21
7#
回复 使用道具 举报
prz2001
注册会员   /  发表于:2020-1-27 21:41:52
8#
没用啊。 FarPoint.Web.Spread.Model.CellRange cr;
                  
                    cr = this.FpSpread1.ActiveSheetView.GetSpanCell(k, 0);
                    this.Lbl_ts.Text = "The span covers cells " + cr.Row + ", " + cr.Column + ", " + cr.RowCount + ", " + cr.ColumnCount;
单元格(k,0)与单元格(k+1,0)合并了,单元格(k+2,0)没有与其他单元格合并,但是返回的RowCount都是1,即还是无法判断哪个是合并单元格
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-2-3 08:33:21
9#
prz2001 发表于 2020-1-27 21:41
没用啊。 FarPoint.Web.Spread.Model.CellRange cr;
                  
                    cr = this ...

您好,请在确定下row和col值是否是指定的单元格,存在合并单元格RowCount或者ColumnCount会大于1的。
如果还无法定位问题,请发一个新帖,并上传可重现问题的Demo。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部