以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多选目录树输入数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123511)

--  作者:ZJZK2018
--  发布时间:2018/8/16 15:30:00
--  多选目录树输入数据
老师如下图,我的需求是:
1、选中几行的税票号码,在table中自动新增几行,并录入相应数据

下面代码只能选择一个数据,如何调整?谢谢!
If e.Node.Level = 0 Then \'如果是顶层节点 
    Return \'则返回
End If
Dim Vals() As String = e.Node.FullPath.Split("\\") 
Dim Filter As String = "[票据类别] = \'" & Vals(0) & "\' And [类别代码] = \'" & Vals(1) & "\' And [税票号码] = \'" & Vals(2) & "\'"
Dim dr As DataRow = DataTables("税票登记").Find(Filter)
Dim r As Row = Tables("开票明细").Current
r("票据类别") = dr("票据类别")
r("税票号码") = dr("税票号码")



图片点击可在新窗口打开查看此主题相关图片如下:3336.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/8/16 15:38:00
--  

If e.Node.Level = 0 Then \'如果是顶层节点
    Return \'则返回
End If
Dim idx As Integer = 0
For Each nd As WinForm.TreeNode In e.sender.allnodes
    If nd.checked Then
        Dim dr As DataRow = nd.DataRow
        If idx = 0 Then
            Dim r As Row = Tables("开票明细").Current
            r("票据类别") = dr("票据类别")
            r("税票号码") = dr("税票号码")
        Else
            Dim r As Row = Tables("开票明细").addnew
            r("票据类别") = dr("票据类别")
            r("税票号码") = dr("税票号码")
        End If
        idx += 1
    End If
Next
[此贴子已经被作者于2018/8/16 16:09:33编辑过]

--  作者:ZJZK2018
--  发布时间:2018/8/16 15:57:00
--  
老师不对,上面代码多个选择时,重复输入相同数据,如下图:


图片点击可在新窗口打开查看此主题相关图片如下:22225.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/8/16 16:10:00
--  
不会,请上传具体实例测试。
--  作者:ZJZK2018
--  发布时间:2018/8/16 16:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:税票.table


--  作者:有点甜
--  发布时间:2018/8/16 16:32:00
--  

改成

 

If e.Node.Level = 0 OrElse e.Node.Level = 1 Then \'如果是顶层节点
    Return \'则返回
End If
Dim nd As WinForm.TreeNode = e.node
If nd.checked Then
    Dim dr As DataRow = nd.DataRow
    Dim r As Row = Tables("开票明细").addnew()
    r("票据类别") = dr("票据类别")
    r("税票号码") = dr("税票号码")
End If