以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  分组统计表样式设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148930)

--  作者:裴保民
--  发布时间:2020/4/19 0:58:00
--  分组统计表样式设置
设置分组统计表的样式怎么不起作用呢?


我在全局事件DrawCell中写了如下代码,怎么不起作用呢?
If e.Table.Name="最近几个月收支情况报表" OrElse e.Table.Name="公用窗体_zjjgyszqkTable" Then
 If CDec(e.Row("收支差额"))< 0  Then
e.Row("收支差额").style.ForeColor=Color.Blue
e.Row("收支差额").style.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
Else
e.Row("收支差额").style.ForeColor=Color.red
e.Row("收支差额").style.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
End If
End If

--  作者:有点蓝
--  发布时间:2020/4/19 21:53:00
--  
没有开启事件http://www.foxtable.com/webhelp/topics/0671.htm

DataTables("分组统计表").GlobalHandler.DrawCell= True

--  作者:裴保民
--  发布时间:2020/4/20 0:45:00
--  
弹出错误框

图片点击可在新窗口打开查看此主题相关图片如下:截图09.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:截图10.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/4/20 1:26:04编辑过]

--  作者:有点蓝
--  发布时间:2020/4/20 8:56:00
--  
If e.Table.Name="最近几个月收支情况报表" OrElse e.Table.Name="公用窗体_zjjgyszqkTable" Then
    Dim fnt As font = e.Table.Font
    Dim style = e.Table.grid.Styles.Add("User样式1") \'名称必须是User+样式名称
    Dim f As New Font(fnt.Name,fnt.size, FontStyle.Bold)
    If e.Row("收支差额") < 0  Then
        style.ForeColor=Color.Blue
    Else
        style.ForeColor=Color.red
    End If
    e.style = "样式1"
End If


--  作者:裴保民
--  发布时间:2020/4/20 9:25:00
--  
 e.style = "样式1"蓝老师这个是临时表表样式怎么预设呢?
[此贴子已经被作者于2020/4/20 9:26:47编辑过]

--  作者:有点蓝
--  发布时间:2020/4/20 9:51:00
--  
这里添加的,和什么表没有关系

Dim style = e.Table.grid.Styles.Add("User样式1") \'名称必须是User+样式名称

--  作者:裴保民
--  发布时间:2020/4/20 13:35:00
--  
怎样将临时表设置成选中行成突出显示呢?

图片点击可在新窗口打开查看此主题相关图片如下:截图06.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/4/20 13:54:00
--  
drawcell
if e.row.index = e.table.rowsel then
e.style = "某某样式"
endif

--  作者:裴保民
--  发布时间:2020/4/20 14:03:00
--  
If e.Table.Name="最近几个月收支情况报表" OrElse e.Table.Name="公用窗体_zjjgyszqkTable" Then
    Dim fnt As font = e.Table.Font
    Dim style = e.Table.grid.Styles.Add("User样式1") \'名称必须是User+样式名称
    Dim f As New Font(fnt.Name,fnt.size, FontStyle.Bold)
    If e.Row("收支差额") < 0  Then
        style.ForeColor=Color.red
        style.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
    Else
        style.ForeColor=Color.Blue
        style.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
    End If
    e.style = "样式1"
End If
Dim style1 = e.Table.grid.Styles.Add("User样式2") \'名称必须是User+样式名称
style1.BackColor=Color.teal
style1.ForeColor=Color.black
style1.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
If e.Row.index = e.Table.rowsel Then
    e.style = "样式2"
End If


图片点击可在新窗口打开查看此主题相关图片如下:截图11.jpg
图片点击可在新窗口打开查看

怎么实现“收入列”为字体蓝+粗、支出列“支出列”字体为红+粗、“收支差额”如果为负数,字体设为红,正数为蓝。
选中当前行样式为,背景色为深绿

现在这么改变的是整行数据的颜色,不是想要的结果
[此贴子已经被作者于2020/4/20 14:12:36编辑过]

--  作者:有点蓝
--  发布时间:2020/4/20 14:26:00
--  
If e.Table.Name="最近几个月收支情况报表" OrElse e.Table.Name="公用窗体_zjjgyszqkTable" Then
    Dim fnt As font = e.Table.Font
    Dim style = e.Table.grid.Styles.Add("User样式1") \'名称必须是User+样式名称
    style.Font =new font("宋体", 9,FontStyle.Bold ) \'\'字体为宋体12加粗
    If e.Row.Index = e.Table.Rowsel
        style.BackColor=Color.teal
        style.ForeColor=Color.black
    Else
        style.BackColor=Color.white
        If e.Row("收支差额") < 0  Then
            style.ForeColor=Color.red
        Else
            style.ForeColor=Color.Blue
        End If
    End If
End If