以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]BuildTree 目录树的节点名称和标题可否不一样?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91706)

--  作者:111yangguojun
--  发布时间:2016/10/17 13:50:00
--  [求助]BuildTree 目录树的节点名称和标题可否不一样?
[求助]BuildTree 目录树的节点名称和标题可否不一样

因为生成目录树的字段数据进行了加密,绑定列显示的标题为加密后的数据,能否让显示的标题采用解密后的数据来显示

--  作者:111yangguojun
--  发布时间:2016/10/17 14:01:00
--  
图片点击可在新窗口打开查看有方法没?
--  作者:kylin
--  发布时间:2016/10/17 14:06:00
--  
当然可以,节点本来就有Name与Caption之分,如果不指定Caption,则视同等于Name。
帮助多看一下,一点也不难。
如果解决不了,做个例子上传,会有人帮你完善的

--  作者:狐狸爸爸
--  发布时间:2016/10/17 14:19:00
--  
可以:

Dim tv As WinForm.TreeView
tv =e.Form.Controls(
"TreeView1")
tv.BuildTree(
"订单", "产品|客户|雇员")
For Each nd As WinForm.TreeNode In tv.AllNodes
    tv.Text = tv.DataRow("标题列")
next


http://www.foxtable.com/webhelp/scr/2689.htm
http://www.foxtable.com/webhelp/scr/2302.htm
http://www.foxtable.com/webhelp/scr/0899.htm

--  作者:111yangguojun
--  发布时间:2016/10/17 14:49:00
--  
狐爸的方法试了下,没搞定,可能是我哪个地方搞错了吧。
我自己用了一个遍历做出了这个效果,贴出代码供大家借鉴:
DataTables("shares_股票信息").LoadFilter = ""
DataTables("shares_股票信息").Load

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each dr As DataRow In DataTables("shares_股票信息").DataRows
    If dr.isnull("挂牌代码") = False Then
        If trv.Nodes.Contains(DecryptText(dr("挂牌代码"),"m","#")) = False Then
            trv.Nodes.Add(DecryptText(dr("挂牌代码"),"m","#"))
        End If
        If  DecryptText(dr("挂牌代码"),"m","#") = Nothing Then
            Continue For
        Else
            trv.Nodes(DecryptText(dr("挂牌代码"),"m","#")).Nodes.Add(DecryptText(dr("股票代码"),"m","#"))
        End If
    End If
Next

--  作者:有点蓝
--  发布时间:2016/10/17 15:02:00
--  
上例子测试