以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关联行只显示首行编号(已用合并模式解决,很好解决了记账凭证序时簿的显示问题)) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179780) |
||||
-- 作者:洮沙 -- 发布时间:2022/9/8 15:15:00 -- [求助]关联行只显示首行编号(已用合并模式解决,很好解决了记账凭证序时簿的显示问题)) 老师,计划实现如下图功能: 凭证字号:记-1关联多行数据,如何能够做到只是首行显示凭证字号、期间等相同信息,麻烦给个思路,谢谢!
[此贴子已经被作者于2022/9/8 16:54:16编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/8 15:24:00 -- 没看懂 |
||||
-- 作者:洮沙 -- 发布时间:2022/9/8 15:26:00 -- 帮助文件中找到了,可以用合并模式。另外,麻烦问一下,合并模式如何用代码设置? |
||||
-- 作者:有点蓝 -- 发布时间:2022/9/8 15:29:00 -- 帮助搜“合并模式”,第一个就是 |
||||
-- 作者:洮沙 -- 发布时间:2022/9/8 15:32:00 -- 还有个问题,如下图1所指,如何用代码设置靠上显示?
[此贴子已经被作者于2022/9/8 15:37:55编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/8 15:52:00 -- Tables("表A").grid.Cols("第一列").TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop |
||||
-- 作者:洮沙 -- 发布时间:2022/9/8 15:56:00 -- 蓝老师,参照 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=106332&skin=0
[此贴子已经被作者于2022/9/8 16:00:13编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/8 16:03:00 -- 把第3列,移到最前面就可以 |
||||
-- 作者:洮沙 -- 发布时间:2022/9/8 16:15:00 -- 蓝老师,不行啊?!麻烦再看一下。 原数据: 合并后: Dim t As Table = Tables("表A") Dim cs As String() = {"第一列", "第二列", "第三列", "第七列"} \'取消合并 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 \'设置合并 For i As Integer = 0 To cs.length - 1 Dim top As Integer = 0 For j As Integer = 1 To t.Rows.count - 1 Dim r1 As Row = t.Rows(j - 1) Dim r2 As Row = t.Rows(j) Dim same As Boolean = True For k As Integer = 0 To i If r1(cs(k)) <> r2(cs(k)) Then same = False Exit For End If Next If same = False Then t.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom Dim rng As C1.Win.C1FlexGrid.CellRange = t.Grid.GetCellRange(top + t.HeaderRows, t.cols(cs(i)).Index + 1, j + t.HeaderRows - 1, t.cols(cs(i)).Index + 1) t.Grid.MergedRanges.add(rng) Top = j ElseIf j = t.rows.count - 1 Then Dim rng As C1.Win.C1FlexGrid.CellRange = t.Grid.GetCellRange(top + t.HeaderRows, t.cols(cs(i)).Index + 1, j + t.HeaderRows, t.cols(cs(i)).Index + 1) t.Grid.MergedRanges.add(rng) End If Next Next Tables("表A").grid.Cols("第一列").TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop Tables("表A").grid.Cols("第二列").TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop Tables("表A").grid.Cols("第三列").TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop Tables("表A").grid.Cols("第七列").TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.LeftTop
[此贴子已经被作者于2022/9/8 16:16:46编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/8 16:28:00 -- 这种底层的合并方式我不懂,只能自行研究了 |