以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]哪里出问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=66271)

--  作者:石四
--  发布时间:2015/4/2 13:06:00
--  [求助]哪里出问题?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:事例.rar

 

附件费用管理窗口

单价含税,金额计算公式:金额=数量*单价(1-税率/100)

 

Dim dtb As New DataTableBuilder("登记表")

dtb.AddDef("请购编号", Gettype(String), 16)

dtb.AddDef("名称规格", Gettype(String), 36)

dtb.AddDef("单位", Gettype(String), 16)

dtb.AddDef("数量", Gettype(Integer))

dtb.AddDef("单价", Gettype(Integer))

dtb.AddDef("税率", Gettype(Integer))

 

With e.Form.Controls("Table1").Table

    .datasource = dtb.BuildDataSource

    .allowedit = True

    .DataTable.SysStyles("EmptyArea").BackColor = Color.Whitesmoke

End With

With DataTables("费用管理_Table1").DataCols  \'用表达式列计算期初数据

    .Add("金额",Gettype(Double),"[单价] * ISNULL([数量],0)(1-[税率]/100)" )

End With

 

Dim t As Table = Tables("费用管理_Table1")

For Each c As Col In t.Cols

    c.TextAlign = TextAlignEnum.Center

Next

 

Tables("费用管理_Table1").SetColVisibleWidth("请购编号|68|名称规格|184|单位|42|数量|48|单价|48|税率|38|金额|64")

 

报错了呢!正确的应该是?


 


--  作者:石四
--  发布时间:2015/4/2 13:09:00
--  
另外,用Lable显示表日期列数据,总搞不定那串尾巴图片点击可在新窗口打开查看
--  作者:Bin
--  发布时间:2015/4/2 13:38:00
--  
ISNULL([数量],0)(1-[税率]/100)   你这里缺少运算符,是要加减乘除 还是?
--  作者:有点甜
--  发布时间:2015/4/2 14:05:00
--  
.Add("金额", Gettype(Double), "[单价] * ISNULL([数量],0) * (1-[税率]/100)" )
--  作者:有点甜
--  发布时间:2015/4/2 14:05:00
--  
以下是引用石四在2015/4/2 13:09:00的发言:
另外,用Lable显示表日期列数据,总搞不定那串尾巴图片点击可在新窗口打开查看

 

去编写 dataformat 事件

 

e.Value = Format(e.Value, "yyyy-MM-dd")


--  作者:石四
--  发布时间:2015/4/2 16:53:00
--  

3Q!

实际运用有时无税率,要改成:  .Add("金额",Gettype(Double),"[单价] * ISNULL([数量],0)*(1-ISNULL([税率],0)/100)" )

 

哦,Lable有datarormat事件,好用!