Foxtable(狐表)用户栏目专家坐堂 → 希望大于0的,底纹显示为绿色,白色字体,这个是用交叉统计得的结果,结果入在窗口中


  共有5160人关注过本帖树形打印复制链接

主题:希望大于0的,底纹显示为绿色,白色字体,这个是用交叉统计得的结果,结果入在窗口中

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 15:10:00 [显示全部帖子]

开启全局表drawcell事件,参考:http://www.foxtable.com/webhelp/scr/0671.htm

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 15:53:00 [显示全部帖子]

开启全局表drawcell事件的代码放到生成统计表之后

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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"'打开生成的统计表
DataTables("统计表1").GlobalHandler.AfterEdit = True


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/14 17:56:00 [显示全部帖子]

统计后的结果只能筛选,不能做加载和分页

If Filter > "" Then
            e.Form.controls("Table1").Table.Filter  = Filter
        End If


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/17 15:30:00 [显示全部帖子]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110590 积分:562846 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/7/17 15:31:00 [显示全部帖子]

Dim Filter As String
With e.Form.Controls("生产批次1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "生产批次 = '" & .Value & "'"
    End If
End With
g.Filter  = Filter

 回到顶部