以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于删除数据后刷新目录树问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52918)

--  作者:wh420
--  发布时间:2014/6/25 16:35:00
--  关于删除数据后刷新目录树问题

以下代码定义成内部函数,名为:weih

If Forms("资源导航").ExistControl("NavBar1")=True Then
    Dim bar As WinForm.NavBar=Forms("资源导航").Controls("NavBar1")
    Select Case bar.SelectedPage.ButtonText
        Case "语种筛选"
            Dim dt As DataTable
             Dim b As New GroupTableBuilder("语种统计表",DataTables("Translators"))
            If _UserGroup ="总经理" Then
                b.filter=""
            Else If _QuanXian="EnRu" Then
                b.Filter = "Language=\'英语\' or Language=\'俄语\'"
            Else If _QuanXian="Other" Then
                b.Filter = "Language<>\'英语\' and Language<>\'俄语\'"
            End If
            b.Groups.AddDef("Language")
            b.Totals.AddDef("TNumber",AggregateEnum.Count,"记录数") \'根据客户ID统计记录数

            b.FromServer = True
            b.build()
MainTable = Tables("语种统计表")
        
        Case "专业筛选"
End Select
End If

————————————————

定义了一个删除功能的快捷菜单,代码为:

Syscmd.Row.Delete()
Functions.Execute("weih") \'统计

 

——————————

问题:当我用快捷菜单删除一条记录时,调用内部函数(weih)统计,但统计的数据仍然是删除之前的记录数,是什么原因?




--  作者:Bin
--  发布时间:2014/6/25 16:36:00
--  
你需要重新生成一次统计
--  作者:wh420
--  发布时间:2014/6/25 16:38:00
--  

执行完删除后我用

Functions.Execute("weih") \'统计

不就是相当于重新生成了一次统计吗?


--  作者:wh420
--  发布时间:2014/6/25 16:42:00
--  
还请老师指教
--  作者:有点甜
--  发布时间:2014/6/25 16:45:00
--  

 这一句去掉 b.FromServer = True

 

 或者删除按钮的代码这样写

 

Syscmd.Row.Delete()

DataTables("Translators").Save
Functions.Execute("weih") \'统计

 


--  作者:wh420
--  发布时间:2014/6/25 16:52:00
--  
哈哈,明白了,是因为删除了没有保存数据,统计后台数据实际上没有变化。