Foxtable(狐表)用户栏目专家坐堂 → 怎样根据当前用户生成加载树


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

主题:怎样根据当前用户生成加载树

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
怎样根据当前用户生成加载树  发帖心情 Post By:2017/12/23 15:00:00 [只看该作者]

当前用户所负责的行是分页加载的,以下代码只能生成当前加载页的加载树,我想要生成根据当前用户所负责的所有行的数据生成加载树,请问老师该怎么修改?
注:不同的用户所能加载的数据是不一样的。

窗口事件代码:
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("S记录其它", "项目名称|县|乡镇|村屯|屯|组")
trv.Nodes.Insert("显示所有行",0)

加载树事件代码:
Dim Filter As String = "1=1"

Dim dr = e.node.FullPath.split("\") '获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[项目名称] = '" & dr(0) & "'"
        Case 1
            Filter = "[项目名称] = '" & dr(0) & "' And [县] = '" & dr(1) & "'"
        Case 2
            Filter = "[项目名称] = '" & dr(0) & "' And [县] = '" & dr(1) & "' And [乡镇] = '" & dr(2) & "'"
        Case 3
            Filter = "[项目名称] = '" & dr(0) & "' And [县] = '" & dr(1) & "' And [乡镇] = '" & dr(2) & "' And [村屯] = '" & dr(3) & "'"
        Case 4
            Filter = "[项目名称] = '" & dr(0) & "' And [县] = '" & dr(1) & "' And [乡镇] = '" & dr(2) & "' And [村屯] = '" & dr(3) & "' And [屯] = '" & dr(4) & "'"
        Case 5
            Filter = "[项目名称] = '" & dr(0) & "' And [县] = '" & dr(1) & "' And [乡镇] = '" & dr(2) & "' And [村屯] = '" & dr(3) & "' And [屯] = '" & dr(4) & "'And [组] = '" & dr(5) & "'"
    End Select
End If


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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 15:07:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2017/12/23 15:23:00 [只看该作者]

老师我已经设置过了这个代码,当前用户也只能加载自己负责的行,我的意思是,上述代码生成的加载树,只能根据第1页(当前页)加载的数据生成,第2页有不同的数据时,就没有提取。

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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 15:43:00 [只看该作者]

Dim cmd As New SQLCommand
Dim
 dt As DataTable
cmd.ConnectionName = 
"region"
cmd.CommandText = 
"SELECT DISTINCT 项目名称,县,乡镇,村屯,屯,组 From {S记录其它} where 用户='" & user.name & "'"
dt = cmd.ExecuteReader()

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "项目名称|县|乡镇|村屯|屯|组")
trv.Nodes.Insert("显示所有行",0)

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2017/12/23 15:51:00 [只看该作者]

修改后,应用窗口时,显示:不存在名为“region"的数据源

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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 16:01:00 [只看该作者]

那就改为自己的数据源啊,这么明显的错误要学会自己分析

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2017/12/23 16:25:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT 项目名称,县,乡镇,村屯,屯,组 Fro m {S记录其它} where 用户='" & user.name & "'"
dt = cmd.ExecuteReader()

Dim trv As WinForm.TreeView = e.For m.Controls("TreeView1")
trv.BuildTree(dt, "项目名称|县|乡镇|村屯|屯|组")
trv.Nodes.Insert("显示所有行",0)


还是提示没有找到名为"S记录其它"的数据源

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
  发帖心情 Post By:2017/12/23 16:27:00 [只看该作者]

cmd.C


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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 16:28:00 [只看该作者]

数据源名称!不是表名!

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


加好友 发短信
等级:超级版主 帖子:109463 积分:556971 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/12/23 16:29:00 [只看该作者]

另外sql的where条件改为符合自己要求的条件,看懂代码,不要只会抄

 回到顶部
总数 12 1 2 下一页