Foxtable(狐表)用户栏目专家坐堂 → 多组重复数据,怎样让不同组的相同数据显示不同的颜色


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

主题:多组重复数据,怎样让不同组的相同数据显示不同的颜色

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


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2016/1/15 14:35:00
多组重复数据,怎样让不同组的相同数据显示不同的颜色  发帖心情 Post By:2016/1/22 10:21:00 [只看该作者]

foxtable里有多组重复数据,怎样让不同组的相同数据显示不同的颜色。像excel的话,如果用条件格式的“重复”选项,所有的重复数据都是一个颜色了,想让他们显示不同的颜色。比如这些数据里两个3,四个8,让两个3一个颜色,四个8一个颜色。有方法吗?

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


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

参考

 

http://www.foxtable.com/help/topics/0656.htm

 

具体问题,做例子上传上来测试。


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


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2016/1/15 14:35:00
  发帖心情 Post By:2016/1/22 10:58:00 [只看该作者]

例子和在达到的效果如下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:重复数据组例子.table


图片点击可在新窗口打开查看此主题相关图片如下:多组重复数据要达效果.png
图片点击可在新窗口打开查看

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


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

参考代码

 

static ls As new List(Of String)
If e.Col.name = "产品编码" Then
    Dim count As Integer = e.Table.DataTable.compute("count(产品编码)", "产品编码 = '" & e.Row("产品编码") & "'")
    If count > 1 Then
        Dim name As String = e.Row("产品编码")
        If ls.Contains(name) = False Then
            Dim r As Integer = Rand.Next(0, 255)
            Dim g As Integer = Rand.Next(0, 255)
            Dim b As Integer = Rand.Next(0, 255)
            Dim c As Color = Color.FromARGB(255, r, g, b)

            e.Table.DataTable.AddUserStyle(name, c, Color.black)
            ls.add(name)
        End If
        e.style = name
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2016/1/15 14:35:00
  发帖心情 Post By:2016/1/22 11:46:00 [只看该作者]

重复数据组颜色可不可以拓展至整行呢?另外,对单独没有重复值的行,交替色又如何能体现?
图片点击可在新窗口打开查看此主题相关图片如下:多组重复数据要达效果2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:多组重复数据要达效果3.png
图片点击可在新窗口打开查看

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


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

static ls As new List(Of String)
    Dim count As Integer = e.Table.DataTable.compute("count(产品编码)", "产品编码 = '" & e.Row("产品编码") & "'")
    If count > 1 Then
        Dim name As String = e.Row("产品编码")
        If ls.Contains(name) = False Then
            Dim r As Integer = Rand.Next(0, 255)
            Dim g As Integer = Rand.Next(0, 255)
            Dim b As Integer = Rand.Next(0, 255)
            Dim c As Color = Color.FromARGB(255, r, g, b)

            e.Table.DataTable.AddUserStyle(name, c, Color.black)
            ls.add(name)
        End If
        e.style = name
End If


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


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2016/1/15 14:35:00
  发帖心情 Post By:2016/1/22 12:10:00 [只看该作者]

颜色太多了乱,如果只想让他显示2种交替色怎么样呢?

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


加好友 发短信
等级:婴狐 帖子:24 积分:217 威望:0 精华:0 注册:2016/1/15 14:35:00
  发帖心情 Post By:2016/1/22 12:16:00 [只看该作者]

还有一个问题请教,如果同一列,只允许有3种状态,A,B,C态,如果把不同态用不同的颜色标记出来,如图
图片点击可在新窗口打开查看此主题相关图片如下:同一列不同状态颜色标签.png
图片点击可在新窗口打开查看

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


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

回复8楼看2楼啊。

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


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

static ls As new List(Of String)
static i As Integer = 0
Dim count As Integer = e.Table.DataTable.compute("count(产品编码)", "产品编码 = '" & e.Row("产品编码") & "'")
If count > 1 Then
    Dim name As String = e.Row("产品编码")
    If ls.Contains(name) = False Then
        If i = 0
            e.Table.DataTable.AddUserStyle(name, Color.Red, Color.black)
            i += 1
        ElseIf i = 1 Then
            e.Table.DataTable.AddUserStyle(name, Color.Yellow, Color.black)
            i = 0
        End If
        ls.add(name)
    End If
    e.style = name
End If

 回到顶部
总数 24 1 2 3 下一页