Foxtable(狐表)用户栏目专家坐堂 → 希望通过当前列名自动生成目录树


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

主题:希望通过当前列名自动生成目录树

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
希望通过当前列名自动生成目录树  发帖心情 Post By:2015/12/24 18:14:00 [只看该作者]

注:老大们批评了,说没有讲清楚需求,看官直到四楼 

 

 

希望实现:

 

制作一个通用下拉树,不同的表、不同的列名,实现动态目录树,详见4楼。。。。 

 

[此贴子已经被作者于2015/12/24 22:50:23编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 18:35:00 [只看该作者]

不明白你想说什么,直接用啊

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
Dim dt As DataTable = DataTables("编码")
tv.StopRedraw()
tv.Nodes.Clear
tv.Nodes.Add("全部")
For Each dr As DataRow In dt.Select("参数描述 = '单位隶属'")
    nd = tv.Nodes.Add(dr("参数编码"),dr("参数描述"))
    Functions.Execute("AddChildrenBM",nd,dt)
Next
tv.ResumeRedraw()

 

-----------------

 

Dim nd As WinForm.TreeNode = args(0)
Dim dt As DataTable = args(1)
For Each dr As DataRow In dt.Select("参数编码 like '" & nd.name & "%'","参数编码")
    Dim km As String = dr("参数编码")
    If km.StartsWith(nd.name) AndAlso km.Length = nd.Name.Length + 2 Then
        Dim cd As Winform.TreeNode = nd.Nodes.Add(km,km & " " & dr("参数描述"))
        Functions.Execute("AddChildrenBM",cd,dt)
    End If
Next


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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/12/24 21:58:00 [只看该作者]

我想设计一个通用的下拉窗口,窗口里面的树,是根据当前列名确定的。

 

换言之,不同的列名,同一个窗口中的树是不同的,但都是从“编码”表中生成的


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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/12/24 22:02:00 [只看该作者]

看了没把事情说清楚,重新制作了说明,不好意思:

 

 

希望制作一个通用下拉树,这个下拉树,能根据(不同表!!!)当前列名不同,有不同的下拉内容

 

重新制作了例子

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20151224222512.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:根据当前列名生成递归目录树.foxdb

[此贴子已经被作者于2015/12/24 22:28:08编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 23:40:00 [只看该作者]

看2楼,控制好筛选就可以啊

 

For Each dr As DataRow In dt.Select("参数描述 = '单位隶属'")

 


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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/12/25 1:23:00 [只看该作者]

以下是引用大红袍在2015/12/24 23:40:00的发言:

看2楼,控制好筛选就可以啊

 

For Each dr As DataRow In dt.Select("参数描述 = '单位隶属'")

 

 

 

老大,问题就在这里,这句:

 

For Each dr As DataRow In dt.Select("参数描述 = '单位隶属'") ----------------是写死的,我希望能在其他表选中不同的列时,这里能相应取值为列名,

 

大概意思是: For Each dr As DataRow In dt.Select("参数描述 = 其他表中被选中列的.Col.name ")

 

不知道怎么改。。。

 

我希望


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/25 8:20:00 [只看该作者]

调函数用的时候也传入列名

 

Dim nd As WinForm.TreeNode = args(0)
Dim dt As DataTable = args(1)
dim colName  as string = Args(2)

 

For Each dr As DataRow In dt.Select("参数描述 = '" & colName &"'")


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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/12/25 8:54:00 [只看该作者]

测试了一下,貌似还是不行,请大大继续帮忙,能够直接就写到上传附件中?

 

 

谢谢!!!!!!!!!!!

 

圣诞快乐


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/25 9:18:00 [只看该作者]

For Each dr As DataRow In dt.Select("参数描述 = '" & CurrentTable.Cols(CurrentTable.ColSel).Name & "'")

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


加好友 发短信
等级:小狐 帖子:307 积分:2252 威望:0 精华:0 注册:2013/2/28 9:05:00
  发帖心情 Post By:2015/12/25 11:20:00 [只看该作者]

ok,感谢!!!!老大

 回到顶部