以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  移动开发-导出小时分表格数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114140)

--  作者:一笑
--  发布时间:2018/1/29 22:56:00
--  移动开发-导出小时分表格数据
 使用代码统计时段,然后生成网页表格,但显示数据是分钟,如何才能显示小时:分,或小时,谢谢
      Dim g As New GroupTableBuilder("统计表2", DataTables("任务书"))
        If e.PostValues.ContainsKey("fz") Then
            Dim fz As String = e.PostValues("fz")
            g.Totals.AddDef("总时间")
            g.Build()
            With wb.AddTable("","Table2")
                .Alternate = 2
                .CreateFromTable(Tables("统计表2"),True)

--  作者:有点蓝
--  发布时间:2018/1/29 23:08:00
--  
统计表生成的数据是怎么样的?

可以使用手工编码生成,如:http://www.foxtable.com/mobilehelp/scr/0072.htm

--  作者:一笑
--  发布时间:2018/1/29 23:14:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:统计时段.jpg
图片点击可在新窗口打开查看
--  作者:有点甜
--  发布时间:2018/1/30 9:09:00
--  

统计表2那里,显示是否正常?如果不正常,那就设置列为【时段】列

 

DataTables("统计表2").DataCols("总时间").ExtendType = ExtendTypeEnum.TimeSpan


--  作者:一笑
--  发布时间:2018/1/30 22:49:00
--  
使用了以下代码把秒转为小时,但小计栏不能转换,求解
            For Each r As Row In Tables("统计表2")
                For Each dc As Col In Tables("统计表2").Cols
                    If dc.IsNumeric Then
                        r(dc.Name) = Format(r(dc.Name)/3600, "0.0")
                    End If
                Next
            Next            
            With wb.AddTable("","Table2")
                .Alternate = 2
                .CreateFromTable(Tables("统计表2"),True)
            End With

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

--  作者:有点蓝
--  发布时间:2018/1/30 23:12:00
--  
小计栏怎么做的,完整代码贴出来
--  作者:一笑
--  发布时间:2018/1/31 9:08:00
--  
完整代码如下,谢谢 
Dim g As New GroupTableBuilder("统计表2", DataTables("任务书"))
            g.Groups.AddDef(fz)
            g.Groups.AddDef("飞行日期", "月")
            g.Totals.AddDef("地面时间")
            g.Totals.AddDef("空中时间")
            g.Totals.AddDef("总时间")
            g.VerticalTotal = True
            g.SubTotal = True
            g.Build()
                        
            For Each r As Row In Tables("统计表2")
                For Each dc As Col In Tables("统计表2").Cols
                    If dc.IsNumeric Then
                        r(dc.Name) = Format(r(dc.Name)/3600, "0.0")
                    End If
                Next
            Next          
            With wb.AddTable("","Table2")
                .Alternate = 2
                .CreateFromTable(Tables("统计表2"),True)
            End With

--  作者:有点甜
--  发布时间:2018/1/31 9:49:00
--  

Dim g As New GroupTableBuilder("统计表2", DataTables("任务书"))
\'g.Groups.AddDef(fz)
g.Groups.AddDef("飞行日期", "月")
g.Totals.AddDef("地面时间")
g.Totals.AddDef("空中时间")
g.Totals.AddDef("总时间")
g.VerticalTotal = True
g.SubTotal = True
g.Build()
DataTables("统计表2").DataCols("地面时间").ExtendType = ExtendTypeEnum.TimeSpan
DataTables("统计表2").DataCols("空中时间").ExtendType = ExtendTypeEnum.TimeSpan
DataTables("统计表2").DataCols("总时间").ExtendType = ExtendTypeEnum.TimeSpan
\'For i As Integer = 0 To Tables("统计表2").rows.count(True)-1
\'    Dim r As Row = Tables("统计表2").rows(i, True)
\'    For Each dc As Col In Tables("统计表2").Cols
\'        If dc.IsNumeric Then
\'            r(dc.Name) = Format(r(dc.Name)/3600, "0.0")
\'        End If
\'    Next
\'Next
With wb.AddTable("","Table2")
    .Alternate = 2
    .CreateFromTable(Tables("统计表2"),True)
End With

 


--  作者:一笑
--  发布时间:2018/1/31 10:55:00
--  
试过了,不行,所有时间都以秒显示。
--  作者:有点甜
--  发布时间:2018/1/31 10:56:00
--  
以下是引用一笑在2018/1/31 10:55:00的发言:
试过了,不行,所有时间都以秒显示。

 

Dim g As New GroupTableBuilder("统计表2", DataTables("任务书"))
g.Groups.AddDef(fz)
g.Groups.AddDef("飞行日期", "月")
g.Totals.AddDef("地面时间")
g.Totals.AddDef("空中时间")
g.Totals.AddDef("总时间")
g.VerticalTotal = True
g.SubTotal = True
g.Build()
For i As Integer = 0 To Tables("统计表2").rows.count(True)-1
    Dim r As Row = Tables("统计表2").rows(i, True)
    For Each dc As Col In Tables("统计表2").Cols
        If dc.IsNumeric Then
            r(dc.Name) = Format(r(dc.Name)/3600, "0.0")
        End If
    Next
Next
With wb.AddTable("","Table2")
    .Alternate = 2
    .CreateFromTable(Tables("统计表2"),True)
End With