以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  多选复制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192625)

--  作者:15666282205
--  发布时间:2024/7/7 10:55:00
--  多选复制
老师,我用下面的代码实现了复制当前行至另一个表,但是只能复制一行,想增加一列选择列,实现选择多行同时复制,请您指导。

\'-------------------------跨表复制-------------------------------
Dim dr As Row = Tables("生产计划表").current
Dim r As Row = Tables("产品信息表").current
r = Tables("产品信息表").AddNew()
r("商品编码") = dr("商品编码")
r("商品全名") = dr("商品全名")
r("台数") = dr("数量")
r("交工日期") =dr("交货日期")
r("使用单位") = dr("购买单位")
msgbox("新增完成.")

--  作者:chnfo
--  发布时间:2024/7/7 18:03:00
--  
做一个快捷键或按钮

With Tables("生产计划表")
    If .
TopPosition > -1 Then \'如果选定区域包括数据行
        For
i as Integer = .TopPosition To .BottomPosition
dim sr as row = .rows(i)

dim ar as datarow = datatables("产品信息表").addnew

ar("目标表列i") = sr("源表列k")

        Next
    End If
End With


--  作者:有点蓝
--  发布时间:2024/7/7 20:36:00
--  
如果选择列是个逻辑列,参考:http://www.foxtable.com/webhelp/topics/1533.htm

Dim Cols1() As String = {"商品编码",".....}
Dim 
Cols2() As String = {"
商品编码",".....}
For Each 
dr1 As DataRow In DataTables("
生产计划表").Select("选择=true")
    Dim dr2 As DataRow = DataTables("产品信息表").AddNew()
    For 
i As Integer = 0 To Cols1.Length -1
        
dr2(Cols2(i)) = dr1(Cols1(i
))
    Next
Next

--  作者:15666282205
--  发布时间:2024/7/8 10:48:00
--  
解决了,谢谢。CHNFO老师的是用鼠标拖选,有点蓝老师的是用逻辑列,都可以实现