Foxtable(狐表)用户栏目专家坐堂 → “日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢


  共有3129人关注过本帖树形打印复制链接

主题:“日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢

帅哥哟,离线,有人找我吗?
faaast
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:295 威望:0 精华:0 注册:2015/7/28 10:36:00
“日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢  发帖心情 Post By:2015/8/25 18:58:00 [只看该作者]

“日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 19:10:00 [只看该作者]

drawcell事件

 

Dim d As Date
e.Table.DataTable.AddUserStyle("样式1", Color.red, Color.Black)
If Date.TryParse( e.Row("日期") & " " & e.Row("时间"), d) Then
    Dim sp As TimeSpan = Date.Now - d
    If sp.TotalMinutes > 10 Then
        e.style = "样式1"
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
faaast
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:295 威望:0 精华:0 注册:2015/7/28 10:36:00
  发帖心情 Post By:2015/8/25 19:40:00 [只看该作者]

谢谢版主! 如果只想把日期和时间的单元格标红可以吗?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 20:04:00 [只看该作者]

If e.Col.Name = "日期" OrElse e.Col.Name = "时间" Then
    Dim d As Date
    e.Table.DataTable.AddUserStyle("样式1", Color.red, Color.Black)
    If Date.TryParse( e.Row("日期") & " " & e.Row("时间"), d) Then
        Dim sp As TimeSpan = Date.Now - d
        If sp.TotalMinutes > 10 Then
            e.style = "样式1"
        End If
    End If
   
End If


 回到顶部
帅哥哟,离线,有人找我吗?
faaast
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:295 威望:0 精华:0 注册:2015/7/28 10:36:00
  发帖心情 Post By:2015/8/26 8:53:00 [只看该作者]

以下是引用大红袍在2015/8/25 20:04:00的发言:

If e.Col.Name = "日期" OrElse e.Col.Name = "时间" Then
    Dim d As Date
    e.Table.DataTable.AddUserStyle("样式1", Color.red, Color.Black)
    If Date.TryParse( e.Row("日期") & " " & e.Row("时间"), d) Then
        Dim sp As TimeSpan = Date.Now - d
        If sp.TotalMinutes > 10 Then
            e.style = "样式1"
        End If
    End If
   
End If

谢谢版主,太赞了

 回到顶部
帅哥哟,离线,有人找我吗?
faaast
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:295 威望:0 精华:0 注册:2015/7/28 10:36:00
  发帖心情 Post By:2015/8/26 10:31:00 [只看该作者]

有个疑问,在本地表可以实现背景色的标红,但在外部数据表的drawcell事件里,无论使用菜单自定义样式还是去上代码中通过adduserstyle方法,都不能使背景变颜色,但是用菜单的自定义样式可以让字体颜色变化,很纳闷。。。求解啊,谢谢 外部数据表是查询表,是这个原因吗?可是帮助文档里说明了查询表可以用adduserstyle方法的啊??

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 10:35:00 [只看该作者]

无论什么表,都是可以的。如代码

 

e.Table.DataTable.AddUserStyle("样式1", Color.Red, Color.Black)
e.style = "样式1"


 回到顶部
帅哥哟,离线,有人找我吗?
faaast
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:25 积分:295 威望:0 精华:0 注册:2015/7/28 10:36:00
  发帖心情 Post By:2015/8/26 12:55:00 [只看该作者]

发现是因为有e.StartDraw e.EndDraw,无论e.style放在哪里,设置都失效,只要没有e.StartDraw e.EndDraw,e.style设置的背景色就有效果.因为我有一列数据需要特殊渲染一下。不知如何解决?
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2015/8/26 12:56:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 14:18:00 [只看该作者]

不要一起设置。

 

If e.Col.Name = "第一列" Then
    e.Table.DataTable.AddUserStyle("样式1", Color.Red, Color.Black)
    e.style = "样式1"
Else
    e.StartDraw
   
    e.EndDraw
End If


 回到顶部