以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  汇总的另外问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84253)

--  作者:douglas738888
--  发布时间:2016/4/26 17:32:00
--  汇总的另外问题
老师我用这段代码在DataColChanged里面,有时汇总过去了,有时只汇总其中几行的列数据,还有就是如果某行的列内容发生变化,汇总过去的数据怎样及时变化。

汇总过去的数据最后多个 ,号   AAAA,BBBB,CCC,,

If e.DataCol.Name = "专业部室"  OrElse e.DataCol.Name = "任务策划" Then
    Dim pdr As DataRow = DataTables("项目策划书").find("信息编号 = \'" & e.DataRow("信息编号") & "\'")
    If pdr IsNot Nothing Then
        Dim str As String = ""
        For Each dr As DataRow In DataTables("工作策划主表").Select("信息编号 = \'" & e.DataRow("信息编号") & "\'And 任务策划 = 任务策划")
            str & = dr("专业部室") & ","
        Next
        pdr("专业部室") = str.trim(",") 
    End If
End If
[此贴子已经被作者于2016/4/26 17:33:16编辑过]

--  作者:大红袍
--  发布时间:2016/4/26 17:37:00
--  

 

[此贴子已经被作者于2016/4/26 17:37:41编辑过]

--  作者:大红袍
--  发布时间:2016/4/26 17:38:00
--  

 

代码不会有你说的问题,肯定是你其它代码影响了,单独做一个例子发上来测试。
--  作者:douglas738888
--  发布时间:2016/4/27 10:38:00
--  
老师,我做了例子,表C增加行,能及时汇总到表D了,但是表C删除行,表D的汇总不会变化,是否需要增加删除条件

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



--  作者:大红袍
--  发布时间:2016/4/27 10:43:00
--  

DataRowDeleting事件

 

Dim pdr As DataRow = DataTables("表D").find("项目编号 = \'" & e.DataRow("项目编号") & "\'")
If pdr IsNot Nothing Then
    Dim str As String = ""
    For Each dr As DataRow In DataTables("表C").Select("项目编号 = \'" & e.DataRow("项目编号") & "\' And _Identify <> " & e.datarow("_Identify"))
        str & = dr("专业部室") & ","
    Next
    pdr("专业部室") = str.trim(",")
End If