以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教这个形式的表格如何生成  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=80280)

--  作者:李睿涵
--  发布时间:2016/1/19 21:59:00
--  请教这个形式的表格如何生成
如图示

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160119215738.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:项目费用.table




--  作者:大红袍
--  发布时间:2016/1/19 22:20:00
--  
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("科目", Gettype(String), 16)
dtb.AddDef("预算", Gettype(Double))
Dim prds As List(of String) = DataTables("负责人").GetValues("负责人")
Dim str As String = ""
For Each prd As String In prds
    dtb.AddDef(prd, Gettype(Double))
    str &= "isnull(" & prd & ",0)+"
Next
dtb.AddDef("累计", Gettype(Double), str.trim("+"))
dtb.Build()
Dim t As Table = Tables("统计")
For Each km As String In DataTables("科目").GetValues("科目")
    Dim nr As Row = t.AddNew
    nr("科目") = km
Next
For Each prd As String In prds
    t.cols(prd).GrandTotal = True
Next
t.cols("预算").GrandTotal = True
t.cols("累计").GrandTotal = True
t.GrandTotal = True

--  作者:李睿涵
--  发布时间:2016/1/20 10:35:00
--  

测试好用,谢谢!

请教:str &= "isnull(" & prd & ",0)+"   红色部分是啥意思?

哪里有资料可以参考?


--  作者:大红袍
--  发布时间:2016/1/20 10:56:00
--  

这里是为了合成一个公式。

 

http://www.foxtable.com/help/topics/0602.htm

 


--  作者:wyz20130512
--  发布时间:2016/1/20 11:03:00
--  回复:(李睿涵)测试好用,谢谢!请教:str &=...
这是获取表达式字符串的意思,isnull(张三,0)+isnull(李四,0)+...
最后通过str.trim("+")去掉最后的一“+”

--  作者:李睿涵
--  发布时间:2016/1/20 12:36:00
--  

原来如此,我以为是正则表达式

谢谢各位


--  作者:李睿涵
--  发布时间:2016/3/16 20:19:00
--  

Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("科目", Gettype(String), 16)
dtb.AddDef("预算", Gettype(Double))
Dim prds As List(of String) = DataTables("负责人").GetValues("负责人")
Dim str As String = ""
For Each prd As String In prds
    dtb.AddDef(prd, Gettype(Double))
    str &= "isnull(" & prd & ",0)+"
Next

 

再问一下,若科目里有特殊字符(-  *) ,红色代码合成出来的结果是:

isnull(川藏线,0)+isnull(云贵线,0)+isnull(北京-深圳*广州,0)

整段代码运行时,会报错:找不到[北京]列

应该是把横杠当成了减号,估计后面的星号也会当成乘号 而报错

 

请教:如何让[北京-深圳*广州] 能当成一个字符串处理,而不是运算符号

 


--  作者:大红袍
--  发布时间:2016/3/16 20:24:00
--  

str &= "isnull([" & prd & "],0)+"


--  作者:李睿涵
--  发布时间:2016/3/16 20:31:00
--  
以下是引用大红袍在2016/3/16 20:24:00的发言:

str &= "isnull([" & prd & "],0)+"

神回复,谢谢!