以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]本行值=上行值时,单元格变颜色  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151670)

--  作者:绿火柴
--  发布时间:2020/6/30 16:00:00
--  [求助]本行值=上行值时,单元格变颜色
为什么整列都变颜色了,怎么修改下。下面红色部分,好像不起作用。
If e.Col.Name = "第二列" Then
    For i As Integer = 0 To e.Table.DataTable.DataRows.Count -1
        Dim dr As DataRow = e.Table.DataTable.DataRows(i)
        If i > 0 Then
            Dim pr As DataRow = e.Table.DataTable.DataRows(i-1)
            If dr("第二列") > "" And dr("第二列") = pr("第二列") Then
                e.Style = "aaa"
            End If
        End If
    Next
End If
[此贴子已经被作者于2020/6/30 16:06:30编辑过]

--  作者:有点蓝
--  发布时间:2020/6/30 16:10:00
--  
If e.Col.Name = "第二列" Then
    if e.row.index > 0 
            If e.row("第二列") > "" And e.row("第二列") = e.table.rows(e.row.index-1)("第二列") Then
                e.Style = "aaa"
            End If
        End If
End If

--  作者:客人
--  发布时间:2020/6/30 16:17:00
--  
可以让整行变颜色吗?
--  作者:有点蓝
--  发布时间:2020/6/30 16:20:00
--  
去掉列名判断:If e.Col.Name = "第二列" Then
--  作者:绿火柴
--  发布时间:2020/6/30 16:58:00
--  
这效率,就喜欢这论坛之一的原因。
--  作者:客人
--  发布时间:2020/7/2 12:53:00
--  
再问:

即设置了样式,又设置了当前行颜色,那怎么让当前行颜色在最前面显示呢。即当前行颜色一直可见的,不会被样式颜色遮挡。

--  作者:有点蓝
--  发布时间:2020/7/2 14:02:00
--  
在drawcell里使用样式设置当前行颜色,放到其它样式设置代码之后
--  作者:绿火柴
--  发布时间:2020/7/2 14:58:00
--  
我在drawcell中加了这么一段代码,效果是实现了。

\'以下样式,只是为了让当前行颜色显示,其实此样式(bbb)是不存在的.
If e.Row.index =  e.Table.rowsel Then
    e.Style = "bbb"
End If