Foxtable(狐表)用户栏目专家坐堂 → 合并单元格与drawcell


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

主题:合并单元格与drawcell

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
合并单元格与drawcell  发帖心情 Post By:2024/4/28 13:24:00 [显示全部帖子]

一列中的某一列是合并单元格。

并且根据同行的另外一列来drawcell变色

  列A
     列B
               
   2024-04-1b                   
   2024-04-1b    Go               
   202-04-2s    ng 
               

当我把第一行和第二行合并的时候,就不会按照Go进行drawcell的变色?

如何实现合并后,也能使得drawcell生效?除了分别赋值外

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/28 13:34:00 [显示全部帖子]



有个功能为设置颜色,根据当前的行和列,把信息赋值到单独的一个隐藏列(标记列)

然后通过drawcell将所有单元格都加上颜色。


 设置颜色是在合并的模式下进行的,如何判断当前单元格和那些单元格合并了?


[此贴子已经被作者于2024/4/28 13:36:04编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/28 13:46:00 [显示全部帖子]

 

Dim tb2 As WinForm.Table = e.Form.Controls("Table2")
Dim tb As Table = tb2.Table

Dim a As  Integer = tb.TopRow+1
Dim b As  Integer = tb.LeftCol+1
Dim c As  Integer = tb.BottomRow+1
Dim d As  Integer = tb.RightCol+1
'msgbox(a & b & c & d)
Dim rng As New List(of Object)
tb.Grid.AllowMerging = C1.Win.C1FlexGrid.AllowMergingEnum.Custom
For Each r As object In tb.Grid.MergedRanges
    'msgbox(r.Toprow & r.leftcol & r.bottomrow & r.rightcol)
    If a >= r.TopRow AndAlso b >= r.LeftCol AndAlso c <= r.bottomRow AndAlso d <= r.rightCol OrElse a <= r.TopRow AndAlso b <= r.LeftCol AndAlso c >= r.bottomRow AndAlso d >= r.rightCol Then
        rng.add(r)
    End If
Next


如果每次点击设置颜色的功能都要遍历全表的所有合并的单元格,太浪费资源了。
有没有简单的办法获得当前的单元格是否合并,与那些区域合并?

 回到顶部