以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  希望通过当前列名自动生成目录树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79135)

--  作者:everybody
--  发布时间:2015/12/24 18:14:00
--  希望通过当前列名自动生成目录树

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

 

 

希望实现:

 

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

 

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

--  作者:大红袍
--  发布时间: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
--  发布时间:2015/12/24 21:58:00
--  

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

 

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


--  作者:everybody
--  发布时间:2015/12/24 22:02:00
--  

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

 

 

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

 

重新制作了例子

 

 


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

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

--  作者:大红袍
--  发布时间:2015/12/24 23:40:00
--  

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

 

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

 


--  作者:everybody
--  发布时间: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
--  发布时间: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
--  发布时间:2015/12/25 8:54:00
--  

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

 

 

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

 

圣诞快乐


--  作者:大红袍
--  发布时间:2015/12/25 9:18:00
--  
For Each dr As DataRow In dt.Select("参数描述 = \'" & CurrentTable.Cols(CurrentTable.ColSel).Name & "\'")
--  作者:everybody
--  发布时间:2015/12/25 11:20:00
--  
ok,感谢!!!!老大