以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]空白行默认显示0  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142208)

--  作者:冷泉
--  发布时间:2019/10/21 12:03:00
--  [求助]空白行默认显示0
库存表代码:
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("采购明细"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("仓库") \'根据型号分组
bd1.Groups.AddDef("商品名称") \'根据型号分组
bd1.Groups.AddDef("规格") \'根据型号分组
bd1.Groups.AddDef("单位") \'根据型号分组
bd1.Totals.AddDef("数量","累计进货_数量") \'对数量进行统计
bd1.Totals.AddDef("金额","累计进货_金额") \'对金额进行统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("出库明细"))
Dim dt2  As fxDataSource
bd2.Groups.AddDef("仓库") \'根据型号分组
bd2.Groups.AddDef("商品名称") \'根据型号分组
bd2.Groups.AddDef("规格") \'根据型号分组
bd2.Groups.AddDef("单位") \'根据型号分组
bd2.Totals.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.Groups.AddDef("规格") \'根据型号分组
bd3.Groups.AddDef("单位") \'根据型号分组
bd3.Totals.AddDef("期初库存","期初_库存") \'对数量进行统计
dt3 = bd3.BuildDataSource()

Dim nms As String() = {"仓库","商品名称","规格","单位"} \'指定连接列
dt1.Combine(nms,dt2,nms)
dt1.Combine(nms,dt3,nms)

Tables("实时库存_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("实时库存_Table1").DataCols  \'用表达式列计算库存数据
    .Add("实时库存_数量",Gettype(Integer), "IsNull([累计进货_数量],0) + IsNull([期初_库存],0) - IsNull([累计出库_数量],0)")
    .Add("实时库存_金额",Gettype(Double), "[实时库存_数量] / [累计进货_数量] * [累计进货_金额]")
End With

Dim at1 As Table = Tables("实时库存_Table1")   \'居中代码
For Each c11 As Col In at1.Cols
    c11.TextAlign = TextAlignEnum.Center
    at1.Sort = "仓库" \'排序
Next


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

应该怎样写代码,能否让没有数值的空白的地方默认显示数值0,麻烦老师指导一下,谢谢


--  作者:有点蓝
--  发布时间:2019/10/21 13:48:00
--  
Dim at1 As Table = Tables("实时库存_Table1")   \'居中代码
at1.Sort = "仓库" \'排序
For Each c11 As Col In at1.Cols
    c11.TextAlign = TextAlignEnum.Center
for each r as row in at1.row
if c11.IsNumeric andalso r.isnull(c11.name) then
r(c11.name) = 0
end if
next
Next

--  作者:冷泉
--  发布时间:2019/10/21 13:59:00
--  
编译错误:Row不是Table的成员
错误代码:for each r as row in at1.row


--  作者:冷泉
--  发布时间:2019/10/21 14:20:00
--  
解决了,谢谢