以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 希望大于0的,底纹显示为绿色,白色字体,这个是用交叉统计得的结果,结果入在窗口中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121854) |
|
-- 作者:y2287958 -- 发布时间:2018/7/14 6:55:00 -- 参考drawcell |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 9:13:00 -- 开启全局表drawcell事件,参考:http://www.foxtable.com/webhelp/scr/0671.htm 全局表drawcell事件写代码处理:http://www.foxtable.com/webhelp/scr/0656.htm 比如 If e.Table.name = "统计表1" If e.Col.name = "OP100" then If e.Row("OP100") = 0 e.Style = "样式1" End If End If End If |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 15:10:00 -- 开启全局表drawcell事件,参考:http://www.foxtable.com/webhelp/scr/0671.htm |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 15:53:00 -- 开启全局表drawcell事件的代码放到生成统计表之后 |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 16:19:00 -- 放到生成统计表之后,不是放到drawcell之后,难道你的统计表是在drawcell里生成的? 如果统计表是在菜单里生成的,做一个窗口按钮,或者到命令窗口执行GlobalHandler 如果通过按钮生成的 Dim b As New GroupTableBuilder("统计表1",DataTables("订单")) b.Filter = "[客户] = \'CS01\'" \'仅统计客户为CS01的记录 b.Groups.AddDef("产品") \'根据产品分组 b.Totals.AddDef("数量") \'对数量进行统计 b.Build \'生成统计表 MainTable = Tables("统计表1") \'打开生成的统计表
|
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 16:23:00 -- Dim g As New CrossTableBuilder("统计表1", DataTables("毛坯工序状态表")) g.HGroups.AddDef("毛坯编码") g.HGroups.AddDef("生产批次") g.HGroups.AddDef("批次序号") g.HGroups.AddDef("成品编码") g.HGroups.AddDef("成品描述") g.VGroups.AddDef("加工工序") g.Totals.AddDef("完成数量", "完成数量") Tables("毛坯工序明细_Table1").DataSource = g.BuildDataSource() Tables("毛坯工序明细_Table1").DataTable.GlobalHandler.DrawCell = True |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 16:25:00 -- Dim g As New CrossTableBuilder("统计表1", DataTables("毛坯工序状态表")) g.HGroups.AddDef("毛坯编码") g.HGroups.AddDef("生产批次") g.HGroups.AddDef("批次序号") g.HGroups.AddDef("成品编码") g.HGroups.AddDef("成品描述") g.VGroups.AddDef("加工工序") g.Totals.AddDef("完成数量", "完成数量") Tables("毛坯工序明细_Table1").DataSource = g.BuildDataSource() Dim dr As DataTable = Tables("毛坯工序明细_Table1").DataTable dt.AddUserStyle("空白", Color.Red, Color.White) dt.GlobalHandler.DrawCell = True
|
|
-- 作者:y2287958 -- 发布时间:2018/7/14 17:26:00 -- 全局表事件代码: Select Case e.Table.Name Case "毛坯工序明细_Table1" Select Case e.Col.name Case "完成数量_1","完成数量_2" If e.Row(e.Col) = 1 e.Style = "空白" End If End Select End Select “刷新”按钮代码: Dim g As New CrossTableBuilder("统计表1", DataTables("毛坯工序状态表"))
g.HGroups.AddDef("毛坯编码") g.HGroups.AddDef("生产批次") g.HGroups.AddDef("批次序号") g.HGroups.AddDef("成品编码") g.HGroups.AddDef("成品描述") g.VGroups.AddDef("加工工序") g.Totals.AddDef("完成数量", "完成数量") Tables("毛坯工序明细_Table1").DataSource = g.BuildDataSource() Dim dt As DataTable = Tables("毛坯工序明细_Table1").DataTable dt.AddUserStyle("空白", Color.Green, Color.White) dt.Styles("空白").FontBold = True dt.GlobalHandler.DrawCell = True |
|
-- 作者:有点蓝 -- 发布时间:2018/7/14 17:56:00 -- 统计后的结果只能筛选,不能做加载和分页 If Filter > "" Then e.Form.controls("Table1").Table.Filter = Filter End If |
|
-- 作者:有点甜 -- 发布时间:2018/7/15 15:26:00 -- 代码改成
Dim g As New CrossTableBuilder("统计表1", DataTables("毛坯工序状态表"))
|