小明 发表于 2022-10-12 10:29:27

FpSpread合并单元格无效

SheetView在什么情况下合并单元格无效?

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

小明 发表于 2022-10-12 11:02:18

并且
单元格超过1291行后,部分合并的单元格显示正常但是后台获取的 RowSpan是1。

Richard.Ma 发表于 2022-10-12 18:00:03

我没有明白怎么重现你的问题,我看你发的代码中并没有用AddSpanCell或者其他方式添加合并单元格。

如果你说的是自动合并后,通过GetSpanCell获取不了合并单元格的话,这个是正常的。GetSpanCell只能获取手动合并的单元格

小明 发表于 2022-10-12 18:14:06

谢谢,明白了出现这个问题原因。
我现在的困扰是,单元格可能是合并状态的(使用代码合并),点击单元格【X,Y】,怎样获取他的文本。

小明 发表于 2022-10-12 18:25:40

我现在用Cell.RowSpan=N合并。
AddSpanCell()和Cell.RowSpan=N有区别么?
我这特别奇怪的是,列表1000行内,GetSpanCell是好用的(使用Cell.RowSpan=N合并),而超过1000行后,GetSpanCell合并的单元格返回的是空。

Richard.Ma 发表于 2022-10-13 12:02:26

这两个方式最后的结果是一样的,你提到超过1000行后,GetSpanCell合并的单元格返回的是空。这个可以发一个重现问题的demo我帮你看一下

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


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

      }

小明 发表于 2022-10-14 08:32:44

非常感谢,问题解决。

Richard.Ma 发表于 2022-10-14 09:41:54

不客气,你1000行以后的这个问题也解决了吗,是什么原因可以分享一下

小明 发表于 2023-3-23 18:35:20

应该是代码逻辑问题,我将资源文件删除,重新整理一遍代码解决的。

Richard.Ma 发表于 2023-3-24 09:07:57

好的:hjyzw:
页: [1]
查看完整版本: FpSpread合并单元格无效