Foxtable(狐表)用户栏目专家坐堂 → 合并行


  共有2541人关注过本帖树形打印复制链接

主题:合并行

帅哥哟,离线,有人找我吗?
fox-man
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:2731 威望:0 精华:0 注册:2014/3/11 12:11:00
合并行  发帖心情 Post By:2015/7/26 11:03:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:切图.png
图片点击可在新窗口打开查看
第一个逻辑列选定,第二个逻辑列合并为一行.否则不合并,怎么做啊?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/26 11:12:00 [只看该作者]

 这个做不到

 回到顶部
帅哥哟,离线,有人找我吗?
fox-man
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:2731 威望:0 精华:0 注册:2014/3/11 12:11:00
  发帖心情 Post By:2015/7/26 11:14:00 [只看该作者]

有变通的办法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/26 11:16:00 [只看该作者]

参考代码,你想怎么合并都行

 

Dim tb As Table = Tables("表A")
tb.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom
Dim rng As C1.Win.C1FlexGrid.CellRange = tb.Grid.GetCellRange(1, 1, 2, 2)
tb.Grid.MergedRanges.Add(rng)


 回到顶部
帅哥哟,离线,有人找我吗?
fox-man
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:2731 威望:0 精华:0 注册:2014/3/11 12:11:00
  发帖心情 Post By:2015/7/26 11:40:00 [只看该作者]

参做个例子参考一下吗?

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/26 12:01:00 [只看该作者]

 AfterEdit事件代码

 

If e.Col.Name = "第二列"
    Dim tb As Table = e.Table
    tb.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom
    tb.grid.MergedRanges.Clear
    Dim pidx As Integer = -1
    For Each r As Row In tb.Rows
        If r("第二列") = True Then
            If pidx = -1 Then
                pidx = r.Index + 1
            End If
        Else
            If pidx <> -1 Then
                Dim rng As C1.Win.C1FlexGrid.CellRange = tb.Grid.GetCellRange(pidx, 3, r.Index, 3)
                tb.Grid.MergedRanges.Add(rng)
                pidx = -1
            End If
        End If
    Next
    If pidx <> -1 Then
        Dim rng As C1.Win.C1FlexGrid.CellRange = tb.Grid.GetCellRange(pidx, 3, tb.Rows.Count, 3)
        tb.Grid.MergedRanges.Add(rng)
    End If
End If


 回到顶部