以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  可否实现,在SQL Table设置满足条件列的字体颜色?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4935)

--  作者:baoxyang
--  发布时间:2009/11/10 17:17:00
--  可否实现,在SQL Table设置满足条件列的字体颜色?

如题,请教各位,代码如何写?


--  作者:狐狸爸爸
--  发布时间:2009/11/10 17:19:00
--  
DrawCell
--  作者:baoxyang
--  发布时间:2009/11/10 17:31:00
--  
在窗口AfterLoad事件中如下代码:

DataTables("车辆状态管理_Table1").Styles("空闲").ForeColor = Color.Green
DataTables("车辆状态管理_Table1").Styles("中转").ForeColor = Color.Blue
DataTables("车辆状态管理_Table1").Styles("配送").ForeColor = Color.plum
DataTables("车辆状态管理_Table1").Styles("维修").ForeColor = Color.Red
DataTables("车辆状态管理_Table1").Styles("预报空闲").ForeColor = Color.Orange
DataTables("车辆状态管理_Table1").Styles("已计划").ForeColor = Color.Aqua


DrawCell
事件中如下代码:
If e.Col.Name = "状态" Then
    If e.Row.IsNull("状态") = False
        If e.Row("状态") = "空闲" Then
            e.Style = "空闲"
        else If e.Row(e.Col.Name) = "中转" Then
            e.Style = "中转"
        else If e.Row(e.Col.Name) = "配送" Then
            e.Style = "配送"
        else If e.Row(e.Col.Name) = "维修" Then
            e.Style = "维修"
        else If e.Row(e.Col.Name) = "预报空闲" Then
            e.Style = "预报空闲"
        else If e.Row(e.Col.Name) = "已计划" Then
            e.Style = "已计划"
        End If
    End If
End If

以上执行时没有实现字体颜色设置,请指点以上代码哪里有问题,谢谢!

--  作者:狐狸爸爸
--  发布时间:2009/11/10 17:40:00
--  
有增加样式吗?


AddUserStyle
增加自定义样式。
AddUserStyle(Name,BackColor,ForeColor)
Name:      样式名称
BackColor: 背景颜色
ForeColor: 字体颜色
示例:
DataTables("表A").AddUserStyle("a", Color.Red, Color.White)
提示,虽然这是DataTable的一个方法,但是显然样式是针对Table发生作用的,所以此方法只有Table已经生成的情况下执行,才能发生作用。

--  作者:baoxyang
--  发布时间:2009/11/10 18:02:00
--  
OK! 原以为DataTables("表A").AddUserStyle("a", Color.Red, Color.White)只针对行字体设置,误解!搬用DataTables("表A").Styles("a").ForeColor 造成设置不成功。图片点击可在新窗口打开查看