Foxtable(狐表)用户栏目专家坐堂 → 一个关于Ttreview的问题


  共有7472人关注过本帖树形打印复制链接

主题:一个关于Ttreview的问题

帅哥哟,离线,有人找我吗?
dreamyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1655 威望:0 精华:0 注册:2013/1/11 15:10:00
一个关于Ttreview的问题  发帖心情 Post By:2013/1/17 16:47:00 [只看该作者]

例我有个Treeview1里有个“所有类型”的根节点,表里商品类型只有个“商品类型”列,能否只用BuildTree实现把“商品类型”加载在“所有类型”子节点下!


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 16:55:00 [只看该作者]

 思路颠倒了。应该是用buildTree生成目录树以后,插入所有类型的。

 比如 trv 是treeview

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

 回到顶部
帅哥哟,离线,有人找我吗?
dreamyuan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1655 威望:0 精华:0 注册:2013/1/11 15:10:00
  发帖心情 Post By:2013/1/17 17:08:00 [只看该作者]

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

那跟加载的是同一个根节点,我是想把加载的内容放在“所有类型”的子节点中


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 17:23:00 [只看该作者]

以下是引用dreamyuan在2013-1-17 17:08:00的发言:

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

那跟加载的是同一个根节点,我是想把加载的内容放在“所有类型”的子节点中


插入一个节点以后,把下面的节点向右移动一格。

比如代码

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
tr.Nodes(1).MoveRight()

 回到顶部
帅哥哟,离线,有人找我吗?
dreamyuan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1655 威望:0 精华:0 注册:2013/1/11 15:10:00
  发帖心情 Post By:2013/1/17 17:39:00 [只看该作者]

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("商品类型", "商品类型")
tv.Nodes(0).Ic
tv.Nodes(0).MoveRight()
tv.Nodes.Insert("所有类型", 0)

这样不行

 


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 17:41:00 [只看该作者]

 这样

Dim tv As WinForm.TreeView
tv =e.Form.Controls("TreeView1")
tv.BuildTree("商品类型", "商品类型")
tv.Nodes.Insert("所有类型", 0)
tv.Nodes(1).MoveRight()

 回到顶部
帅哥哟,离线,有人找我吗?
dreamyuan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1655 威望:0 精华:0 注册:2013/1/11 15:10:00
  发帖心情 Post By:2013/1/17 17:45:00 [只看该作者]

这样只能移一个,如果多就麻烦了,还不如表里多个列值为“所有类型”呵呵,有没有更简单的

比如给Nodes加个BuildTree方法


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 17:54:00 [只看该作者]

 可以这样,用sql语句生成一个表。

 dim cmd as new sqlcommand
 cmd.CommandText = "Select '所有类型' as 附加列,  商品类型 from {商品类型}"
 dim dt as datatable = cmd.ExecuteReader
 
 Dim tv As WinForm.TreeView
 tv =e.Form.Controls("TreeView1")
 tv.BuildTree(dt, "附加列|商品类型")

 回到顶部
帅哥哟,离线,有人找我吗?
dreamyuan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:198 积分:1655 威望:0 精华:0 注册:2013/1/11 15:10:00
  发帖心情 Post By:2013/1/17 19:43:00 [只看该作者]

谢谢林老师,OK了


 回到顶部