以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何在设计的窗口显示临时统计表 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120761) |
-- 作者:nbsugu_z -- 发布时间:2018/6/23 9:55:00 -- 如何在设计的窗口显示临时统计表 有一个分组汇总代码生成的临时表“统计表A”,如何能在设计的窗口中显示此表全部内容,试了几次没成功,求代码
|
-- 作者:有点蓝 -- 发布时间:2018/6/23 10:42:00 -- e.form.controls("table1").table.DataSource = b.BuildDataSource |
-- 作者:nbsugu_z -- 发布时间:2018/6/23 12:00:00 -- 以下是引用有点蓝在2018/6/23 10:42:00的发言:
e.form.controls("table1").table.DataSource = b.BuildDataSource Case "项目材料结算汇总表"
不成功,以上代码在目录树菜单中的代码,如何修改使之能在窗口中显示? |
-- 作者:有点蓝 -- 发布时间:2018/6/23 12:10:00 -- …… Dim arr() As String = {"项目分类","材料供应商"} dt1.Combine(arr,dt2,arr) dt1.Combine(arr,dt3,arr) Dim t As Table = e.form.controls("table1").Table t.DataSource = dt1.BuildDataSource With t.DataTable.DataCols \'用表达式列计算库存数据 .Add("按发票未付款金额",Gettype(Double), "IsNull([已开票_金额],0) - ISNULL([已付金额],0)") .Add("未开票金额",Gettype(Double), "IsNull([收料结算_金额],0) - ISNULL([已开票_金额],0)") .Add("按收料未付款金额",Gettype(Double), "IsNull([收料结算_金额],0) - ISNULL([已付金额],0)") End With …… |
-- 作者:nbsugu_z -- 发布时间:2018/6/23 13:54:00 -- 代码提示:BuildDataSource不是fxDataSource 成员 t.DataSource = dt1.BuildDataSourc
代码错误
|
-- 作者:有点蓝 -- 发布时间:2018/6/23 14:53:00 -- t.DataSource = dt1 |
-- 作者:nbsugu_z -- 发布时间:2018/6/23 19:41:00 -- Case "项目材料结算汇总表" Dim bd1 As New sqlGroupTableBuilder("统计表1","采购开票登记") bd1.C Dim dt1 As fxDataSource bd1.Groups.AddDef("项目分类") bd1.Groups.AddDef("材料供应商") bd1.Totals.AddDef("购进金额","已开票_金额") bd1.Totals.AddDef("发票数量","已开票_数量") bd1.Totals.AddExp("说明", "说明", AggregateEnum.max) dt1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表2",DataTables("付款明细表")) Dim dt2 As fxDataSource bd2.Groups.AddDef("项目分类") bd2.Groups.AddDef("材料供应商") bd2.Totals.AddDef("付款金额","已付金额") dt2 = bd2.BuildDataSource() Dim bd3 As New GroupTableBuilder("统计表3",DataTables("材料入库登记")) Dim dt3 As fxDataSource bd3.Groups.AddDef("项目分类") bd3.Groups.AddDef("材料供应商") bd3.Totals.AddDef("数量","收料结算_数量") bd3.Totals.AddDef("金额","收料结算_金额") dt3 = bd3.BuildDataSource() Dim arr() As String = {"项目分类","材料供应商"} dt1.Combine(arr,dt2,arr) dt1.Combine(arr,dt3,arr) Dim t As Table = e.form.controls("table1").Table t.DataSource = dt1 With t.DataTable.DataCols \'用表达式列计算库存数据 .Add("按发票未付款金额",Gettype(Double), "IsNull([已开票_金额],0) - ISNULL([已付金额],0)") .Add("未开票金额",Gettype(Double), "IsNull([收料结算_金额],0) - ISNULL([已开票_金额],0)") .Add("按收料未付款金额",Gettype(Double), "IsNull([收料结算_金额],0) - ISNULL([已付金额],0)") End With With Tables("统计表") .MergeMode = MergeModeEnum.Standard .MergeCols.Clear() .MergeCols.Add("项目分类") .MergeCols.Add("材料供应商") .MergeSort = "项目分类,材料供应商" .AllowMerge = True End With Dim g As Subtotalgroup t.SubtotalGroups.Clear() t.GroupAboveData = False t.TreeVisible = False t.SpillNode = True g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "*" g.TotalOn = "收料结算_数量,收料结算_金额,已开票_金额,已开票_数量,已付金额,按发票未付款金额,按收料未付款金额" g.Caption = "总计" t.SubtotalGroups.Add(g) t.Subtotal() MainTable = t \'以下显示格式 Tables("统计表").cols("已付金额").DataCol.setFormat("#,###.00") Tables("统计表").cols("已开票_金额").DataCol.setFormat("#,###.00") Tables("统计表").cols("已开票_数量").DataCol.setFormat("#,###.00") Tables("统计表").cols("按发票未付款金额").DataCol.setFormat("#,###.00") Tables("统计表").cols("收料结算_数量").DataCol.setFormat("#,###.00") Tables("统计表").cols("收料结算_金额").DataCol.setFormat("#,###.00") Tables("统计表").cols("按收料未付款金额").DataCol.setFormat("#,###.00") Tables("统计表").cols("未开票金额").DataCol.setFormat("#,###.00") Tables("统计表").SetColVisibleWidth("项目分类|100|材料供应商|300|收料结算_数量|100|收料结算_金额|120|已开票_数量|100|已开票_金额|120|已付金额|120|按发票未付款金额|120|按收料未付款金额|120|未开票金额|120|说明|120") 执行代码显示:找不到名称为“table1的控件 |
-- 作者:有点甜 -- 发布时间:2018/6/24 23:03:00 -- 你的窗口table的名称是什么?红色就改成什么
Dim t As Table = Forms("窗口1").controls("table1").Table |