以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于treeview问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=17165)

--  作者:tamama52
--  发布时间:2012/3/5 15:25:00
--  [求助]关于treeview问题

参照casestudy在导航里编了一段

Dim Value() As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Tables("荒料入库").Filter = "[公司] = \'" & Value(0) & "\'"
    Case 1
        Tables("荒料入库").Filter = "[公司] = \'" & Value(0) & "\' And [品种] = \'" & Value(1) & "\'"
End Select

发现有个问题,就是表显示的列也根据我所在树的节点变化,即使我把窗口关了也是如此

所以希望像将军仓管里面那样做个加载所有行的功能。请教这个代码该怎么写


--  作者:狐狸爸爸
--  发布时间:2012/3/5 15:34:00
--  

1、AfterLoad事件改为:

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.CommandText = "SELECT DISTINCT 产品,客户 From {订单}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildDataTree(dt, "","产品", "客户")
trv.Nodes.Insert("加载所有数据","加载所有数据",0)

 

2、NodeMouseClick事件代码改为:

 

Dim Value()As String
Dim Filter As String
If e.node.Text = "加载所有数据" Then
    filter = ""
Else
    Value = e.Node.FullPath.Split("\\")
    Select Case e.Node.Level
        Case 0
            Filter ="[产品] = \'" & Value(0) & "\'"
        Case 1
            Filter ="[产品] = \'" & Value(0) & "\' And [客户] = \'" & Value(1) & "\'"
    End Select
End If
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()


--  作者:tamama52
--  发布时间:2012/3/5 16:44:00
--  

狐爸,报错的说。貌似说找不到表,我表名列名都改了的说

[此贴子已经被作者于2012-3-5 16:46:51编辑过]

--  作者:czy
--  发布时间:2012/3/5 17:33:00
--  
楼上是外部数据源吗?
--  作者:tamama52
--  发布时间:2012/3/6 8:47:00
--  
嗯,是外部数据源
--  作者:狐狸爸爸
--  发布时间:2012/3/6 8:53:00
--  

看看:

 

http://www.foxtable.com/help/topics/2344.htm

 


--  作者:tamama52
--  发布时间:2012/3/6 9:10:00
--  

嗯,多谢两位高手,搞定了