Foxtable(狐表)用户栏目专家坐堂 → 请教狐狸爸爸,开发中遇到菜鸟级问题了(问题已解决)


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

主题:请教狐狸爸爸,开发中遇到菜鸟级问题了(问题已解决)

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


加好友 发短信
等级:幼狐 帖子:119 积分:1136 威望:0 精华:0 注册:2012/3/16 18:48:00
请教狐狸爸爸,开发中遇到菜鸟级问题了(问题已解决)  发帖心情 Post By:2012/11/7 18:22:00 [显示全部帖子]

点出根目录下的"加载全部数据",数据就没有了,知道是下面的代码不对,但不知怎么去改。

Dim md As New SQLCommand
Dim dp As DataTable
md.CommandText = "SELECT DISTINCT 咨询作业_作业日期,咨询项目_委托人,咨询项目_一级名称 From {咨询项目登记表}"
dp = md.ExecuteReader()
Dim tv As WinForm.TreeView = e.Form.Controls("TreeView3")
tv.BuildTree(dp,"咨询作业_作业日期|咨询项目_委托人|咨询项目_一级名称")
tv.Nodes.Insert("加载全部数据",0)

 

另想在节点上加上项目的个数,请赐教。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目.foxdb

[此贴子已经被作者于2012-11-7 19:40:15编辑过]

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


加好友 发短信
等级:幼狐 帖子:119 积分:1136 威望:0 精华:0 注册:2012/3/16 18:48:00
  发帖心情 Post By:2012/11/7 18:35:00 [显示全部帖子]

Dim Filter As String
If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim Value() As String
    Value = e.Node.FullPath.Split("\")
    Select Case e.Node.Level
        Case 0
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "'"
        Case 1
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "'"
        Case 1
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "' And [咨询项目_委托人] = '" & Value(1) & "'"
    End Select
End If
DataTables("咨询项目登记表").LoadFilter = Filter
DataTables("咨询项目登记表").Load()

 

自己发现可能应当是:

Case 2
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "' And [咨询项目_委托人] = '" & Value(2) & "'"

[此贴子已经被作者于2012-11-7 18:38:36编辑过]

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


加好友 发短信
等级:幼狐 帖子:119 积分:1136 威望:0 精华:0 注册:2012/3/16 18:48:00
  发帖心情 Post By:2012/11/7 18:46:00 [显示全部帖子]

以下是引用13636600695在2012-11-7 18:40:00的发言:

Dim Filter As String
If e.Node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim Value() As String
    Value = e.Node.FullPath.Split("\")
    Select Case e.Node.Level
        Case 0
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "'"
        Case 1
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "'"
        Case 2
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "' And [咨询项目_委托人] = '" & Value(2) & "'"
    End Select
End If
DataTables("咨询项目登记表").LoadFilter = Filter
DataTables("咨询项目登记表").Load()

[此贴子已经被作者于2012-11-7 18:40:39编辑过]

还是没有用,谢谢你。


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


加好友 发短信
等级:幼狐 帖子:119 积分:1136 威望:0 精华:0 注册:2012/3/16 18:48:00
  发帖心情 Post By:2012/11/7 18:50:00 [显示全部帖子]

谢谢指点。再请教目录树节点下项目个数的显示。

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


加好友 发短信
等级:幼狐 帖子:119 积分:1136 威望:0 精华:0 注册:2012/3/16 18:48:00
  发帖心情 Post By:2012/11/7 19:15:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-11-7 18:43:00的发言:

Dim Filter As String
If e.Node.Text = "加载全部数据" Then
    Filter = ""
Else
    Dim Value() As String
    Value = e.Node.FullPath.Split("\")
    Select Case e.Node.Level
        Case 0
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "'"
        Case 1
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "'"
        Case 1
            Filter ="[咨询作业_作业日期] = '" & Value(0) & "' And [咨询项目_一级名称] = '" & Value(1) & "' And [咨询项目_委托人] = '" & Value(1) & "'"
    End Select
End If
DataTables("咨询项目登记表").LoadFilter = Filter
DataTables("咨询项目登记表").Load()

 

提示: 你生成目录树的时候,用的是:

 

tv.Nodes.Insert("加载全部数据",0)

 

前后要一致,不能前面是“全部”,后面是“所有”,对于计算机,多个空格都不行,何况是两个不同的词。

第三节目录还是无法筛选。


 回到顶部