以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- “日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73745)
|
-- 作者:faaast
-- 发布时间:2015/8/25 18:58:00
-- “日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢
“日期”列为2015-08-25,时间列为“18:01:02”,如果时间离当前时间超过10分钟,就把字体标红,请问如何实现啊?谢谢
|
-- 作者:大红袍
-- 发布时间: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
-- 发布时间:2015/8/25 19:40: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
-- 发布时间: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
-- 发布时间:2015/8/26 10:31:00
--
有个疑问,在本地表可以实现背景色的标红,但在外部数据表的drawcell事件里,无论使用菜单自定义样式还是去上代码中通过adduserstyle方法,都不能使背景变颜色,但是用菜单的自定义样式可以让字体颜色变化,很纳闷。。。求解啊,谢谢
外部数据表是查询表,是这个原因吗?可是帮助文档里说明了查询表可以用adduserstyle方法的啊??
|
-- 作者:大红袍
-- 发布时间:2015/8/26 10:35:00
--
无论什么表,都是可以的。如代码
e.Table.DataTable.AddUserStyle("样式1", Color.Red, Color.Black) e.style = "样式1"
|
-- 作者:faaast
-- 发布时间: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编辑过]
|
-- 作者:大红袍
-- 发布时间: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
|