以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]合并单元格后再取消  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127395)

--  作者:mositu
--  发布时间:2018/11/13 9:42:00
--  [求助]合并单元格后再取消
Dim tb As Table = Tables("查询凭证_Table1")
查询过程略
Dim Rowps As Integer = 0
tb.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom \'合并单元格之用
Dim rng As C1.Win.C1FlexGrid.CellRange   \'合并单元格之用

For i As Integer = 0 To 9
    
    tb.Position = Rowps
    Dim Rowcount As Integer = tb.Current("明细行数")
    
    rng = tb.Grid.GetCellRange(Rowps+1, 1, Rowps+Rowcount, 1)  \'合并单元格
    tb.Grid.MergedRanges.add(rng)
    
    Rowps = Rowps + Rowcount
Next
打开其窗体,可以根据不同条件再查询,发现单元格合并总是第一次的设置,以致只有第一次是符合预期,再查询得到的合并不符合要求,求怎么解决
我尝试思路是,每查询前判断一下表行数,若》0,先删除所有行,我以为把已经设置合并的行删除就会一起删除,可还是不行

--  作者:有点甜
--  发布时间:2018/11/13 9:49:00
--  

写代码取消合并,参考

 

Dim t As Table = Tables("表a")

\'取消合并
Dim ls As new List(of object)
For Each r As object In t.Grid.MergedRanges
        ls.add(r)
Next
For Each r As object In ls
    t.Grid.MergedRanges.Remove(r)
Next

 


--  作者:mositu
--  发布时间:2018/11/13 10:04:00
--  
完美解决,非常感谢