以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  扩展列汇总的请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84058)

--  作者:douglas738888
--  发布时间:2016/4/22 11:29:00
--  扩展列汇总的请教
老师,是否能实现从表A(明细表)勾选需要的行里面文件列(扩展型-文件),通过勾选就自动汇总到表B的文件列(扩展型-多文件)里面,便于资料总体汇编,

这只是自己想到的,另外是否还有其他更好的思路。

--  作者:大红袍
--  发布时间:2016/4/22 11:31:00
--  
 直接合并字符串的值就行了,每个字符串用 vbcrlf 也就是换行 分割。
--  作者:douglas738888
--  发布时间:2016/4/22 11:35:00
--  
再弱弱的问个问题,采用哪种方式传递过去,老师能给个类似的参考例子学习学习。谢谢
--  作者:大红袍
--  发布时间:2016/4/22 11:50:00
--  

参考实例

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=83957&skin=0

 


--  作者:douglas738888
--  发布时间:2016/4/22 15:40:00
--  
老师,您给的参考例子,是关联表的,我参照做了例子也实现了 vbcrlf 的功能和传递的功能,另外,我参照做了个非关联的,有几个问题没有实现,请老师看看

1. 字符没有能复制过去

2. 加了逻辑列控制条件没有反应   (在关联表的例子里也没有反应)

3. 过去的文件,是否要设路径,不然打不开汇总里面的文件

datachanged:

If e.DataCol.Name = "上传文件"    \'文件副表
   If e.DataRow("选择") = True Then
     Dim pdr As DataRow = DataTables("文件主表").DataRows("接收汇总资料")
     If pdr IsNot Nothing Then
        Dim str As String = ""
        For Each dr As DataRow In DataTables("文件副表").DataRows
            str & = dr("上传文件") & vbcrlf 
        Next
        pdr("接收汇总资料") = str.trim & vbcrlf   \'文件主表的列
       End If 
    End If
End If

--  作者:大红袍
--  发布时间:2016/4/22 15:57:00
--  

1、2

 

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 选择 = true")
            str & = dr("上传文件") & vbcrlf
        Next
        pdr("接收汇总资料") = str.trim(chr(10), chr(13))
    End If
End If

 

3、列【接收汇总资料】需要设置成多文件列,同时指定存放目录跟上传文件列的一致。