以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教一下如何根据编号交替背景颜色?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48311)

--  作者:jimmyhwang
--  发布时间:2014/3/27 2:36:00
--  [求助]请教一下如何根据编号交替背景颜色?
编号相同的一个颜色。交替呈现。如此。。在Table上呈现。。
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140327023228.jpg
图片点击可在新窗口打开查看

--  作者:y2287958
--  发布时间:2014/3/27 6:25:00
--  
http://www.foxtable.com/help/topics/0656.htm
--  作者:lsy
--  发布时间:2014/3/27 7:53:00
--  

如果编号严格按照顺序排序,并且没有缺失,可以这样:

e.Table.DataTable.AddUserStyle("按编号交替背景色",Color.MediumPurple,Color.Black)
If e.Row.IsNull(e.Col) = False AndAlso Val(e.Row(e.Col)) Mod 2 = 0 Then
    e.Style = "按编号交替背景色"
End If


--  作者:jimmyhwang
--  发布时间:2014/3/27 12:52:00
--  
编号只是会按照如2个相同或者3个相同这样的规则。没有按照循序排列。
--  作者:lsy
--  发布时间:2014/3/27 14:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:单元格按序号分类着色.table


--  作者:jimmyhwang
--  发布时间:2014/3/27 15:32:00
--  

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

 

我只用了这个代码,把第二列改成“编号”。在批量导入时颜色交替没有按照要求实现。另外如果更改背景颜色,不会生效。