以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  drawcell的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=133885)

--  作者:rjh4078
--  发布时间:2019/4/22 23:20:00
--  drawcell的问题
查询一个表 希望把订单号相同的记录用相同的颜色来标记
但是这个订单数量很多的时候 该怎么动态生成不同的颜色方案呢?

--  作者:有点甜
--  发布时间:2019/4/23 10:18:00
--  

参考

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=80405

 


--  作者:rjh4078
--  发布时间:2019/4/23 16:18:00
--  
这个例子代码我看懂了 有个问题 如果重新加载新的数据进来 就不会刷新表格式 这个要怎么解决
--  作者:rjh4078
--  发布时间:2019/4/23 16:45:00
--  
还有个问题 如果深色的颜色 字体我要改成白色 不然看不清 
我参考这个https://blog.csdn.net/qq_36843675/article/details/79448051来判断获取的颜色深浅
但是没有什么用
static ls As new List(Of String)
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(Rand.Next(0, 255), r, g, b)
    If (r*0.299 + g*0.578 + b*0.114) >= 192 Then
        e.Table.DataTable.AddUserStyle(name, c, Color.black)
    Else
        e.Table.DataTable.AddUserStyle(name, c, Color.yellow)
    End If
    ls.add(name)
End If
e.style = name
[此贴子已经被作者于2019/4/23 17:55:10编辑过]

--  作者:有点甜
--  发布时间:2019/4/23 18:16:00
--  
以下是引用rjh4078在2019/4/23 16:18:00的发言:
这个例子代码我看懂了 有个问题 如果重新加载新的数据进来 就不会刷新表格式 这个要怎么解决

 

刷新表一下,如 Tables("表A").refresh


--  作者:有点甜
--  发布时间:2019/4/23 18:23:00
--  
以下是引用rjh4078在2019/4/23 16:45:00的发言:
还有个问题 如果深色的颜色 字体我要改成白色 不然看不清 
 
[此贴子已经被作者于2019/4/23 17:55:10编辑过]

 

Color.yellow 改成比如 Color.white 试试


--  作者:rjh4078
--  发布时间:2019/4/23 18:54:00
--  
试过了 这句代码不生效 无论改什么颜色 都是黑色
--  作者:有点蓝
--  发布时间:2019/4/23 20:28:00
--  
重启项目