以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  想让成绩排名5名的单元格显示红色,代码写来写去就是不行,高手指导偶一下把  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=30570)

--  作者:jljacky
--  发布时间:2013/3/30 14:17:00
--  想让成绩排名5名的单元格显示红色,代码写来写去就是不行,高手指导偶一下把

新人学习编程一个月,目前正在看DrawCell事件.想试试让学生成绩表中总分排名前5名的显示成红色,代码写来写去总出错,发上来给好心的前辈看看.

谢谢了

If e.Col.Name="总分" Then

    Dim drs As List(Of DataRow)

    drs=DataTables("学生成绩").Select(""," 总分DESC")

    Dim i As Integer

    For i=0 To 4

    If e.drs(i).IsNull(e.Col.Name)=False Then

        e.style="排名前5"

     End If

    Next

End If


--  作者:jljacky
--  发布时间:2013/3/30 14:29:00
--  
顶一下
--  作者:jljacky
--  发布时间:2013/3/30 14:38:00
--  
DrawCell里面有没有办法定义单元格呢
--  作者:狐狸爸爸
--  发布时间:2013/3/30 15:14:00
--  

设计思路不是这样的,应该增加一个排名列,输入所有分数后,计算排名。
 
根据排名列设置样式:
 
if e.Col.Name = "排名" AndAlso e.Row("排名") <=5 Then
    e.style="排名前5"
End If

如何自动计算排名,看看:

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