Foxtable(狐表)用户栏目专家坐堂 → 如何列内组交替色自动填充?


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

主题:如何列内组交替色自动填充?

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


加好友 发短信
等级:婴狐 帖子:14 积分:190 威望:0 精华:0 注册:2016/9/26 18:12:00
如何列内组交替色自动填充?  发帖心情 Post By:2016/9/29 17:38:00 [只看该作者]

如下图,如何做到列内不同姓名组交替色自动填充,但又不影响其它列?


图片点击可在新窗口打开查看此主题相关图片如下:列内交替色自动填充.png
图片点击可在新窗口打开查看

 

目前找到的是以某列排列为依据,来实现行组交替色自动填充的,比较贴近要求,但是它的是整行全表填充,在drawCell时非常吃力,几乎死机,所以想只做某一列内级交替颜色,如何实现?

 

附上行组交替色自动填充代码案例如下:

e.Table.DataTable.AddUserStyle("按编号交替背景色奇",Color.MediumPurple,Color.Black)
e.Table.DataTable.AddUserStyle("按编号交替背景色偶",Color.SkyBlue,Color.Black)
Dim vals As List(Of String) = e.Table.DataTable.GetValues("第二列","第二列 Is Not Null")

For i As Integer = 0 To vals.Count - 1
    If e.Row("第二列") = vals(i) AndAlso i Mod 2 = 1 Then
        e.Style = "按编号交替背景色奇"
    ElseIf e.Row("第二列") = vals(i) AndAlso i Mod 2 = 0 Then
        e.Style = "按编号交替背景色偶"
    End If
Next


 


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107028 积分:544371 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/29 18:03:00 [只看该作者]

e.Table.DataTable.AddUserStyle("按编号交替背景色奇",Color.MediumPurple,Color.Black)
e.Table.DataTable.AddUserStyle("按编号交替背景色偶",Color.SkyBlue,Color.Black)
如果是窗口表,上面代码改改放到afterload事件,不然就放到afteropenproject事件

drawcell

if e.col.name = "第二列" then 

Dim vals As List(Of String) = e.Table.DataTable.GetValues("第二列","第二列 Is Not Null")

For i As Integer = 0 To vals.Count - 1
    If e.Row("第二列") = vals(i) AndAlso i Mod 2 = 1 Then
        e.Style = "按编号交替背景色奇"
    ElseIf e.Row("第二列") = vals(i) AndAlso i Mod 2 = 0 Then
        e.Style = "按编号交替背景色偶"
    End If
Next

end if


 回到顶部