以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  目录树  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76432)

--  作者:kaituozhe
--  发布时间:2015/10/29 8:12:00
--  目录树

分级显示目录且能显示两列,比如汽车01,汽车又可分为商用车001、乘用车002,商用车又可分为A、C、B三种类型,其中A型车的代码假如是:01.001.001,我现在想要是分级显示每种的代码及名称,比如逐级打开代码后,会显示01.001.001 A型车,现在的三种方式要么只显示代码、要么只显示物料名称,我想要的是两个都显示,甚至显示三个及以上,该怎么办?


--  作者:Hyphen
--  发布时间:2015/10/29 8:51:00
--  

根据多列内容生成目录树http://www.foxtable.com/help/topics/0893.htm

 

根据路径列和标题列生成目录树http://www.foxtable.com/help/topics/2621.htm

 


--  作者:kaituozhe
--  发布时间:2015/10/29 9:25:00
--  

这两个我都看了,只能显示代码或名称,我想把两项并列显示出来 “代码 名称” ,


--  作者:大红袍
--  发布时间:2015/10/29 9:29:00
--  
以下是引用kaituozhe在2015/10/29 9:25:00的发言:

这两个我都看了,只能显示代码或名称,我想把两项并列显示出来 “代码 名称” ,

 

方法一,弄一个表达式列,把两列内容合并;

 

方法二,生成目录树后,循环每一个节点,修改 nd.text = nd.DataRow("代码") & " " & nd.DataRow("名称")


--  作者:kaituozhe
--  发布时间:2015/10/29 9:41:00
--  

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.GenerateTree("物料档案", "物料编号","物料名称",".","", "物料编号 DESC")
trv.Nodes.Insert("显示所有行",0)
For Each nd As WinForm.TreeNode In trv.AllNodes
    nd.Text =nd.DataRow("物料编号") & " " & nd.DataRow("物料名称")
Next

这是我在窗口Afterload事件设置的代码,提示如下错误,不知道是什么原因。

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.10.26.1
错误所在事件:窗口,物料档案,AfterLoad
详细错误信息:
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 UserCode.APJL1pOId6Q78Dg9e(FormEventArgs e)


--  作者:大红袍
--  发布时间:2015/10/29 9:49:00
--  

 

[此贴子已经被作者于2015/10/29 9:54:27编辑过]

--  作者:kaituozhe
--  发布时间:2015/10/29 9:52:00
--  

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.GenerateTree("物料档案", "物料编号","物料名称",".","", "物料编号 DESC")
trv.Nodes.Insert("显示所有行",0)
For Each nd As WinForm.TreeNode In trv.AllNodes
msgbox(nd.DataRow Is Nothing)
    nd.Text =nd.DataRow("物料编号") & nd.DataRow("物料名称")

Next

加了红色代码后,显示一次ture,然后就是提示错误


--  作者:大红袍
--  发布时间:2015/10/29 9:54:00
--  

哦,这样改

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.GenerateTree("物料档案", "物料编号","物料名称",".","", "物料编号 DESC")
For Each nd As WinForm.TreeNode In trv.AllNodes
    nd.Text =nd.DataRow("物料编号") & " " & nd.DataRow("物料名称")
Next

trv.Nodes.Insert("显示所有行",0)


--  作者:kaituozhe
--  发布时间:2015/10/29 9:57:00
--  
可以了
--  作者:kaituozhe
--  发布时间:2015/10/29 9:58:00
--  
谢谢