Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:目录树的选定节点打勾情况提取ID(疑问)

1楼
migold 发表于:2011/1/31 10:10:00

Dim tv As WinForm.TreeView = Forms("窗口47").Controls("TreeView1") '目录树
Dim nd,nd1,nd2 As WinForm.TreeNode '节点
Dim mf1 As String = "" '初始化变量,此变量用于收集选定打勾节点自身与下级下下级包括ID
If tv.SelectedNode IsNot Nothing Then '判断选定节点不为空
    nd = tv.SelectedNode
    If nd.Checked Then '判断选定节点打勾情况下
        mf1 = mf1 & nd.Name & ","
        For i As Integer = 0 To nd.Nodes.Count -1 '循环下1级打勾情况下
            If nd.Nodes(i).Checked Then
                mf1 = mf1 & nd.Nodes(i).Name & ","
                nd1 = nd.Nodes(i)
                For i1 As Integer = 0 To nd1.Nodes.Count -1 '循环下2级打勾情况下
                    If nd1.Nodes(i1).Checked Then
                        mf1 = mf1 & nd1.Nodes(i1).Name & ","
                        nd2 = nd1.Nodes(i1)
                        For i2 As Integer = 0 To nd2.Nodes.Count -1 '循环下3级打勾情况下
                            If nd2.Nodes(i2).Checked Then
                                mf1 = mf1 & nd2.Nodes(i2).Name & ","
                            End If
                        Next
                    End If
                Next
            End If
        Next
        mf1 = mf1.Trim(" ",",")
        output.show(mf1) '目的显示结果2,31,107,110,111,112,108,109,32,33,104,105,106,34
    End If
End If

请高手们指点!!!改进改进以上代码,谢谢!

目录树的选定节点打勾情况下,提取打勾节点ID集。

以上代码,只能针对选定节点为3层情况,超过3层就无能为力了。

 

 

2楼
狐狸爸爸 发表于:2011/1/31 11:45:00

好的方法是递归,不过对于一般用户来说,比较复杂。

 

来个来个笨却简单的办法:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目66.rar

3楼
migold 发表于:2011/1/31 13:29:00
谢谢!试试去
4楼
migold 发表于:2011/1/31 13:41:00

狐狸爸爸!

试过你的方法,不行,麻烦来个你所说的递归

5楼
狐狸爸爸 发表于:2011/1/31 15:17:00

我测试我的文件可以啊。

注意有多个三个位置了代码,你用输出代码看看我的文件是如何设置的。

6楼
migold 发表于:2011/1/31 16:23:00

看过了,我在看看试试

 

 

共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 3 queries.