以文本方式查看主题

-  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=171474)

--  作者:huizhong
--  发布时间:2021/8/31 16:17:00
--  代码设置数据格式
老师,以下是查询窗口的一个按钮的事件代码,我想对金额列进行格式设定,代码该如何修改(SetFormat("#,###.00"))?


If e.Form.Controls("DateTimePicker1").value = Nothing Then
    MessageBox.Show("请先选择要查询的日期 !")
    e.Cancel = True
Else
    StatusBar.Message1= "正在计算数据,请稍等......"
    StatusBar.Refresh() \'刷新状态栏
    
    Dim d As Date = e.Form.Controls("DateTimePicker1").value
    Dim y As Integer = d.Year
    Dim m As Integer = d.Month
    Dim Days As Integer = Date.DaysInMonth(y,m)
    Dim FD As Date = New Date(y,m,1) \'获得该月的第一天
    
    Dim b As New CrossTableBuilder("统计表1",DataTables("保险明细表"))
    b.Filter ="[签单日期] >= #" & FD & "# And [签单日期] <= #" & d & "#"
    b.HGroups.AddDef("承保公司") \'添加客户列用于水平分组
    b.VGroups.AddDef("险种名称") \'添加产品列用于垂直分组
    b.Totals.AddDef("数量") \'添加数量列用于统计
    b.Totals.AddDef("保费金额") \'添加数量列用于统计
    b.VerticalTotal= True \'垂直汇总
    b.HorizontalTotal = True \'水平汇总
    b.Decimals = 2
    b.Build \'生成统计表
    Tables("查询 日报表_Table4").DataSource = b.builddatasource
    Tables("查询 日报表_Table4").AutoSizeCols() \'自动设置所有列的宽度
End If
StatusBar.Message1= "就绪"
StatusBar.Message3 = Date.Today & "  " &  User.Name
StatusBar.Refresh() \'刷新状态栏

--  作者:有点蓝
--  发布时间:2021/8/31 16:28:00
--  
生成的表标题是什么样的?

……
    b.HorizontalTotal = True \'水平汇总
    b.Decimals = 2
    ‘去掉’b.Build \'生成统计表
    Tables("查询 日报表_Table4").DataSource = b.builddatasource
    Tables("查询 日报表_Table4").AutoSizeCols() \'自动设置所有列的宽度
    for eacj dc as datacol in dataTables("查询 日报表_Table4").datacols
if dc.caption like "*金额*" then
dc.SetFormat("#,###.00")
endif
next

--  作者:huizhong
--  发布时间:2021/8/31 17:06:00
--  
谢谢老师