以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问如何将表格内容的一部分内容,根据条件需要设置成加粗红色,或者背景色设置为红色高亮呢? (http://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 -- 谢谢,马上去看看 ![]() |