以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请问如何将表格内容的一部分内容,根据条件需要设置成加粗红色,或者背景色设置为红色高亮呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=72392)

--  作者:faaast
--  发布时间:2015/7/29 17:18:00
--  请问如何将表格内容的一部分内容,根据条件需要设置成加粗红色,或者背景色设置为红色高亮呢?
请问如何将表格内容的一部分内容,根据条件需要设置成加粗红色,或者背景色设置为红色高亮呢?

如题,举个例子吧,比如表格内容为
CPU,80%,2|MEM,50%,1|DSK,90%,1|.........
如何将分割段中最后一位为2的字段内容,比如DSK,90%,1设置成比较显眼的红色,或者它附近的底色设置为红色呢?

先做了功课,如果用DrawString(msg,fnt,Brushes.Red,10,10),会把表格的所有内容都变红,不行。


参考教程里的一个范例,e.Graphics.FillRectangle估计应该可以满足需求,
3.15.15在单元格中直接绘图
表事件
表A_DrawCell
If e.Col.Name = "进度" AndAlso e.Row.IsNull("进度") = False Then
e.StartDraw()
Dim Width As Integer = (e.Width - 2 )* e.Row("进度") \\ 100
If e.Row("进度") = 100 Then
e.Graphics.FillRectangle(Brushes.Green,e.x + 1,e.y + 1, Width, e.Height - 2)
Else
e.Graphics.FillRectangle(Brushes.Red,e.x + 1,e.y + 1, Width, e.Height - 2)
End If
e.EndDraw()
End If


思路还有点不太清楚,请高手说说,谢谢
[此贴子已经被作者于2015/7/29 17:18:35编辑过]

--  作者:大红袍
--  发布时间:2015/7/29 17:23:00
--  

 思路还是用 DrawString。

 

 比如,把单元格内容截取成两部分,第一部分用 DrawString 写成黑色,第二部分用 DrawString 写成红色。即可。


--  作者:大红袍
--  发布时间:2015/7/29 17:27:00
--  

 参考实例

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54474&skin=0

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=63410&skin=0

 


--  作者:faaast
--  发布时间:2015/7/29 17:34:00
--  
谢谢,马上去看看 图片点击可在新窗口打开查看