找回密码
 立即注册

QQ登录

只需一步,快速开始

小明

注册会员

6

主题

14

帖子

46

积分

注册会员

积分
46
小明
注册会员   /  发表于:2022-10-12 10:29  /   查看:1948  /  回复:9
SheetView在什么情况下合并单元格无效?

目前发现问题:
var qqq = this.SheetView1 .GetSpanCell(1, 0);qqq 为空。
this.SheetView1 .Cells[1, 0].RowSpan = 24;
var ddd = this.SheetView1 .Cells[1, 0].RowSpan;此处ddd值为1(RowSpan也是1)

9 个回复

倒序浏览
小明
注册会员   /  发表于:2022-10-12 11:02:18
沙发
并且
单元格超过1291行后,部分合并的单元格显示正常但是后台获取的 RowSpan是1。
1665543655501.png456116332.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-12 18:00:03
板凳
我没有明白怎么重现你的问题,我看你发的代码中并没有用AddSpanCell或者其他方式添加合并单元格。

如果你说的是自动合并后,通过GetSpanCell获取不了合并单元格的话,这个是正常的。GetSpanCell只能获取手动合并的单元格
回复 使用道具 举报
小明
注册会员   /  发表于:2022-10-12 18:14:06
地板
谢谢,明白了出现这个问题原因。
我现在的困扰是,单元格可能是合并状态的(使用代码合并),点击单元格【X,Y】,怎样获取他的文本。
回复 使用道具 举报
小明
注册会员   /  发表于:2022-10-12 18:25:40
5#
我现在用Cell.RowSpan=N合并。
AddSpanCell()和Cell.RowSpan=N有区别么?
我这特别奇怪的是,列表1000行内,GetSpanCell是好用的(使用Cell.RowSpan=N合并),而超过1000行后,GetSpanCell合并的单元格返回的是空。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-13 12:02:26
6#
这两个方式最后的结果是一样的,你提到超过1000行后,GetSpanCell合并的单元格返回的是空。这个可以发一个重现问题的demo我帮你看一下

然后你说的点击合并单元格,获取文本问题,如果是一个合并单元格的左上角单元格,那本来在界面上就显示的吧,
image.png657995605.png

要代码获取的话,可以事件中
  1.         private void FpSpread1_CellClick(object sender, CellClickEventArgs e)
  2.         {
  3.             var spancell = fpSpread1.ActiveSheet.GetSpanCell(e.Row, e.Column);
  4.             var val = fpSpread1.ActiveSheet.GetValue(spancell.Row, spancell.Column);

  5.         }
复制代码

回复 使用道具 举报
小明
注册会员   /  发表于:2022-10-14 08:32:44
7#
非常感谢,问题解决。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-14 09:41:54
8#
不客气,你1000行以后的这个问题也解决了吗,是什么原因可以分享一下
回复 使用道具 举报
小明
注册会员   /  发表于:2023-3-23 18:35:20
9#
应该是代码逻辑问题,我将资源文件删除,重新整理一遍代码解决的。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-3-24 09:07:57
10#
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部