以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据统计代码不起作用  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195089)

--  作者:可乐七号
--  发布时间:2025/2/20 14:20:00
--  数据统计代码不起作用
如下 数据统计代码不起作用  在设置时有效,但复制到程序中就不起作用了,请帮忙看一下。
Dim t As Table = Tables("workRecord")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = True
t.SpillNode = True

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "workingHours"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()

--  作者:有点蓝
--  发布时间:2025/2/20 14:21:00
--  
复制到程序哪里,代码有执行过吗?
--  作者:可乐七号
--  发布时间:2025/2/20 14:25:00
--  
有执行到,测试过。之前是正常,今天有人反馈不显示合计了。
--  作者:有点蓝
--  发布时间:2025/2/20 14:37:00
--  
最后加上msgbox试试,如果能够弹出,说明代码执行了。可能有其它代码影响
--  作者:可乐七号
--  发布时间:2025/2/20 14:39:00
--  
以下是全部代码,查询按钮。
Dim filter As String

Dim begindate As String = e.Form.Controls("begindate").text
Dim enddate As String = e.Form.Controls("enddate").text

If begindate ="" Or enddate ="" Then
    MessageBox.Show("作业日期不能为空!","提示")
    Return
End If

filter = " workdate >= \'" & begindate & "\' and  workdate <= \'" & enddate & "\' "

Dim personName As String = e.Form.Controls("personName").text
filter =  filter & " And  personName Like \'%" & personName & "%\'"

Dim groupname As String = e.Form.Controls("groupname").text
If groupname <>"" Then
    filter =  filter & " and  groupname = \'" & groupname & "\'"
End If


Dim workgroupname As String = e.Form.Controls("workgroupname").text
If workgroupname <> "" Then
    filter =  filter & " and  workgroupname = \'" & workgroupname & "\'"
End If

Dim projectName As String = e.Form.Controls("projectName").text
filter =  filter & " and  projectName like \'%" & projectName & "%\'"

e.Form.Controls("textbox1").text=filter

DataTables("workRecord").LoadTop = 1000000
DataTables("workRecord").LoadFilter=filter
DataTables("workrecord").LoadOrder="workdate,groupname,personname"
DataTables("workRecord").Load()


If e.Form.Controls("namegroup").Checked  = True Then
    
    Dim t As Table = Tables("workRecord")
    Dim g As Subtotalgroup
    t.SubtotalGroups.Clear()
    t.GroupAboveData = False
    t.TreeVisible = True
    t.SpillNode = True
    
    g = New Subtotalgroup
    g.Aggregate = AggregateEnum.Sum
    g.GroupOn = "personName"
    g.TotalOn = "workingHours"
    g.Caption = "{0} 小计"
    t.SubtotalGroups.Add(g)
    
    t.Subtotal()
Else
    Dim t As Table = Tables("workRecord")
    Dim g As Subtotalgroup
    t.SubtotalGroups.Clear()
    t.GroupAboveData = False
    t.TreeVisible = True
    t.SpillNode = True
    
    g = New Subtotalgroup
    g.Aggregate = AggregateEnum.Sum
    g.GroupOn = "*"
    g.TotalOn = "workingHours"
    g.Caption = "总计"
    t.SubtotalGroups.Add(g)
    
    t.Subtotal()
End If

--  作者:有点蓝
--  发布时间:2025/2/20 14:42:00
--  
看4楼。另外这个设置的是主表,如果打开的是副本表,肯定是没有反应的
--  作者:可乐七号
--  发布时间:2025/2/20 15:01:00
--  
好了,谢谢。