Foxtable(狐表)用户栏目专家坐堂 → 请教:树和表的筛选问题


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

主题:请教:树和表的筛选问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
请教:树和表的筛选问题  发帖心情 Post By:2015/6/8 10:46:00 [只看该作者]

请各位老师帮我把学习项目中的代码完善一下

 

要求:当单击上面6个单选按钮时,树和表的内容按单选条件筛选

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


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/6/8 11:10:00 [只看该作者]

求老师给写一下代码


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


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

 看不懂你想表达什么意思。参考代码,全局的click事件

 

If e.Sender.Name.StartsWith("rbtn") Then
    Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
    Dim nd As WinForm.TreeNode
    Dim tb As DataTable = DataTables("用户")
    Dim dt As DataTable = DataTables("部门")
    tr.StopRedraw()
    tr.Nodes.Clear
    Dim dr As DataRow
    Select Case e.Sender.Name
        Case "rbtn全部"
            tr.Nodes.Add("全部")
            For Each dr In dt.Select("部门id in (" & tb.GetComboListString("部门ID", "范围 = '全部'").Replace("|", ",") & ")")
                nd = tr.Nodes.Add(dr("部门ID"),dr("部门"))
                nd.Tag = dr("部门ID")
                Functions.Execute("递归",nd,dt)
            Next
        Case "rbtn本部门"
            For Each dr In dt.Select("部门id in (" & tb.GetComboListString("部门ID", "范围 = '本部门'").Replace("|", ",") & ")")
                nd = tr.Nodes.Add(dr("部门ID"),dr("部门"))
                nd.Tag = dr("部门ID")
                Functions.Execute("递归",nd,dt)
            Next
        Case "rbtn本部门及子部门"
        Case "rbtn上级部门"
        Case "rbtn上级及本部门和子部门"
        Case "rbtn子部门"
    End Select
    tr.ResumeRedraw
End If


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/6/8 12:29:00 [只看该作者]

老师:我的意思没表达清楚,不是上面的意思。

主要目的是要实现当不同用户登录后,根据该用户可查看的范围,限制部门树和用户表显示的内容,上传项目中设了6个单选按钮,只是想学习一下不同查看范围如何设置树和表的条件:

1.当用户范围是【全部】时,部门和用户全部显示

2.当用户范围是【本部门】时,部门树只显示该用户的部门,用户表显示该部门的全部用户

3.当用户范围是【本部门及子部门】时,部门树只显示该用户的部门和该部门的所有子部门,用户表显示该部门及所有子部门的全部用户

4.当用户范围是【上级部门】时,部门树只显示该用户的上级部门,用户表显示该该用户的上级部门的用户

5.当用户范围是【上级及本部门和子部门】时,部门树只显示该用户的上级部门、该用户的部门和该部门的所有子部门,用户表显示该该用户的上级部门、部门及所有子部门的全部用户

 

代码正常应该写在窗体打开后事件中,根据登录用户的部门ID和范围设置加载条件,上传项目中设了6个单选按钮,只是想请老师把代码写在这些按钮的单击事件中,方便查看和演示

 

请老师费心给写写。

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


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/6/8 12:42:00 [只看该作者]

主要是后三条该如何写代码?请老师费心看看


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


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

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


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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2015/6/8 14:22:00 [只看该作者]

谢谢大红袍老师

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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/3/2 18:16:00 [只看该作者]

如果 将王四 设置为部门一 则最后一个 上级及本部门和子部门会报错

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


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

                For Each dr In dt.Select("部门id = '" & fdr("部门id") & "'")
                    If cd Is Nothing
                        nd = trv.Nodes.Add(dr("部门ID"),dr("部门"))
                    Else
                        nd = cd.Nodes.Add(dr("部门ID"),dr("部门"))
                    End If
                    nd.Tag = dr("部门ID")
                    Functions.Execute("递归",nd,dt)
                Next

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


加好友 发短信
等级:一尾狐 帖子:457 积分:3523 威望:0 精华:0 注册:2016/1/22 18:17:00
  发帖心情 Post By:2016/3/2 19:07:00 [只看该作者]

谢谢

[此贴子已经被作者于2016/3/2 19:11:43编辑过]

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