以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  设置指定行背景颜色  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=27732)

--  作者:明丰
--  发布时间:2013/1/8 22:24:00
--  设置指定行背景颜色

DataTables(e.Table.DataTable.name).AddUserStyle("合计", Color.LightSteelBlue, Color.Black)
If e.Row("第一列") = "合计" Then
    e.Style = "合计".Split("-")(0)
End If

 

设置合计行背景颜色。

上面代码在内部表DrawCell事件设置有效,在SQLQuery类型的表不能设置,请问如何设置?


--  作者:明丰
--  发布时间:2013/1/9 8:10:00
--  

临时表设置指定行背景颜色:

 

窗口事件 AfterLoad

Dim dtb As New DataTableBuilder("输入")

dtb.AddDef("名称", Gettype(String), 16)

dtb.AddDef("第一列", Gettype(String), 16

dtb.AddDef("规格", Gettype(String), 16)

dtb.AddDef("数量", Gettype(Double))

Tables("窗口1_Table1").DataSource = dtb .BuildDataSource

 

Tables("窗口1_Table1").DataSource = dtb .BuildDataSource

Tables("窗口1_Table1").AddNew(5)

Dim rw1 As Row = Tables("窗口1_Table1").AddNew

rw1("名称") = "合计"

rw1("第一列") = "合计"

Tables("窗口1_Table1").cols("第一列").Visible = False \'隐藏

rw1.DataRow.Locked = True \'锁定合计行

 

Tables("窗口1_Table1").AllowEdit = True \'

DataTables("窗口1_Table1").SysStyles("EmptyArea").BackColor = Color.White

 

\'窗口表事件—绘制

DataTables(e.Table.DataTable.name).AddUserStyle("行计", Color.LightSteelBlue, Color.Black)

If e.Row("第一列") = "合计" Then

    e.Style = "行计".Split("-")(0)

End If

 

上面的代码,如果删除AfterLoad红色部分代码,绘制事件“第一列”改为“名称”,代码不会执行。

请问是什么原因?

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:指定行颜色.table

[此贴子已经被作者于2013-1-9 11:51:31编辑过]

--  作者:明丰
--  发布时间:2013/1/9 11:57:00
--  

请问如何设置?


--  作者:lin_hailun
--  发布时间:2013/1/9 12:16:00
--  
 测试正常……

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:指定行颜色.table



--  作者:明丰
--  发布时间:2013/1/9 13:12:00
--  

查到原因了:我原来的设置是从某一个表换行时生成窗口,没有在窗口事件中直接设置。对于这种情况,2楼也是一种另类解决方案。