以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]每季度前10天同一个姓名列中姓名出现小于2次标记为蓝色 谢谢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153378)

--  作者:wendude
--  发布时间:2020/8/9 19:37:00
--  [求助]每季度前10天同一个姓名列中姓名出现小于2次标记为蓝色 谢谢
[求助]每季度前10天同一个姓名列中姓名出现小于2次标记为蓝色 谢谢
--  作者:有点蓝
--  发布时间:2020/8/9 21:02:00
--  
增加一个辅助列,逻辑列,比如列名【每季度前10天

datacolchanged事件

if e.datacol.name = "日期"  then
if  e.datarow.isull("日期") then
  e.datarow("每季度前10天") = false
else
  dim m as integer = e.datarow("日期").month
  dim d as integer = e.datarow("日期").day
  e.datarow("每季度前10天") = (m = 1 andalso m = 4 andalso m= 7 andalso m= 10 andalso d >= 1 andalso d<=10)
end if
end if

drawcell事件http://www.foxtable.com/webhelp/topics/0656.htm

if e.col.name = "姓名" then
if e.table.compute("count(姓名)","每季度前10天 = true and 姓名 = \'" & e.row("姓名") & "\'") <= 1
e.style = "样式1"
end if
end if

--  作者:wendude
--  发布时间:2020/8/14 14:49:00
--  
所有姓名列都成了蓝色,辅助列也没有起作用。谢谢


--  作者:有点蓝
--  发布时间:2020/8/14 14:51:00
--  
请上传实例说明
--  作者:wendude
--  发布时间:2020/8/14 15:11:00
--  
请见例子,谢谢!
--  作者:wendude
--  发布时间:2020/8/14 15:13:00
--  [求助]
附件已添加
--  作者:有点蓝
--  发布时间:2020/8/14 15:21:00
--  
上传文件的方法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78,重复多试几次,文件不能大于2M
--  作者:wendude
--  发布时间:2020/8/14 16:10:00
--  实例上传
实例上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:有点蓝
--  发布时间:2020/8/14 16:26:00
--  
datacolchanged
If e.DataCol.name = "日期"  Then
    If  e.DataRow.isnull("日期") Then
        e.DataRow("每季度末前10天") = False
    Else
        Dim m As Integer = e.DataRow("日期").month
        Dim d As Integer = e.DataRow("日期").day
        e.DataRow("每季度末前10天") = ((m = 3 OrElse m = 6 OrElse m= 9 OrElse m= 12) AndAlso d >= 20 AndAlso d<=31)
    End If
End If

drawcell
If e.Col.name = "姓名" Then
    If e.Table.compute("count(姓名)","每季度末前10天 = true and 姓名 = \'" & e.Row("姓名") & "\'") = 1
        e.style = "样式1"
    End If
End If