找回密码
 立即注册

QQ登录

只需一步,快速开始

蓝鸟

金牌服务用户

6

主题

12

帖子

50

积分

金牌服务用户

积分
50
蓝鸟
金牌服务用户   /  发表于:2024-12-4 09:20  /   查看:102  /  回复:3
1金币

如何实现点击左侧任意节点,自动将此节点下面所有用户包含子部门的用户全查询出来。


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

大佬您好,咱们现在使用的设计器是哪一个版本,因为咱们没有在帖子中提到咱们当前实现的设计器版本,所以我们一般在做demo的时候,会以官方发布的最新版为准。 因为咱们还是没有说咱们现在设计器的版本,那么我就简单说一下原理: 1、因为组织结构是树形的数据,而表格的查询做不到树形查询,能做的,只有等于,不等于,大于,小于,在里面等逻辑运算 2、所以需要先,从树形的组织结构数据中获取到,将要查询的所有组织Id 3 ...

3 个回复

倒序浏览
最佳答案
最佳答案
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2024-12-4 09:20:16
来自 4#
大佬您好,咱们现在使用的设计器是哪一个版本,因为咱们没有在帖子中提到咱们当前实现的设计器版本,所以我们一般在做demo的时候,会以官方发布的最新版为准。

因为咱们还是没有说咱们现在设计器的版本,那么我就简单说一下原理:
1、因为组织结构是树形的数据,而表格的查询做不到树形查询,能做的,只有等于,不等于,大于,小于,在里面等逻辑运算
2、所以需要先,从树形的组织结构数据中获取到,将要查询的所有组织Id
3、所以第一步操作就是,根据选择的树节点获取到当前选择的组织Id,以及下面子节点的组织Id
4、表格设置查询条件,做组织Id,在查询的结果里

总共有多重思路,咱们可以参考一下
1、借助现有控件
不自己做查询,而是借助组件本身就有的功能,比如EL-树形控件,有一个功能,开启多选,当开启多选之后,本身就可以获取当前节点以及子节点



2、递归查询
服务端命令支持自己调用自己,那么就可以,服务端命令实现递归查询的思路,这种方式就可以比较简单的获取当前节点及子节点Id,不过这里有一个前提就是我们会使用递归查询

3、SQL查询,也是前面版主给出的方案,具体SQL如下,咱们可以参考一下
  1. WITH RECURSIVE 查询1 AS (
  2.     SELECT [组织Id], [组织名], [父节点Id]
  3.     FROM [组织信息视图]
  4.     WHERE [组织Id] = @组织ID
  5.     UNION ALL
  6.     SELECT c.[组织Id], c.[组织名], c.[父节点Id]
  7.     FROM [组织信息视图] c
  8.     JOIN 查询1 d ON c.[父节点Id] = d.[组织Id]
  9. )
  10. SELECT 组织ID FROM 查询1;
复制代码
最终再通过Join将数组转成字符串就可以使用了


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Shawn.Liu活字格认证
超级版主   /  发表于:2024-12-4 10:59:31
2#
大佬,这个问题首先可以考虑使用EL树形控件等树形图单元格绑定组织信息视图,展示层级的组织结构,点击某组织名称后,递归查询所有子组织节点,然后右侧表格绑定用户组织关系视图,查询条件为 [组织ID] 在里面 [所有子组织节点] 即可,可参考下面的帖子或demo

sql语句实现无限递归查下
https://gcdn.grapecity.com.cn/showtopic-229615-1-1.html
(出处: 葡萄城开发者社区)


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
蓝鸟
金牌服务用户   /  发表于:2024-12-4 11:04:57
3#
Shawn.Liu 发表于 2024-12-4 10:59
大佬,这个问题首先可以考虑使用EL树形控件等树形图单元格绑定组织信息视图,展示层级的组织结构,点击某组 ...

1204-组织节点树型图-获取用户.fgcc 无法打开,版本太低打开报错

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部