Foxtable(狐表)用户栏目专家坐堂 → 在用户表中只显示本级单位和下级单位


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

主题:在用户表中只显示本级单位和下级单位

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
在用户表中只显示本级单位和下级单位  发帖心情 Post By:2018/8/31 11:33:00 [只看该作者]

需求:在用户表中显示本级单位和下级单位的用户信息

 

DataTables("user").LoadFilter = "organName = '" & _UserOrgan & "'"   
DataTables("user").LoadTop = Nothing
DataTables("user").load

 

比如,_UserOrgan =榆林市中心支行,登录后,希望看到榆林市中心支行和所有下属县级行的用户

 

那么这时候这个loadFilter如何实现,主要是数据库的用户表里只有organName字段,

 

loadFilter=本级单位名字=_UserOrgan 或者  上级单位名称 = =_UserOrgan 的?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 11:39:00 [只看该作者]

1、你要记录全路径啊

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=123221&skin=0

 

2、然后写

 

DataTables("user").LoadFilter = "全路径 like '%" & _UserOrgan & "%'"   


 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 12:49:00 [只看该作者]

以下是引用有点甜在2018/8/31 11:39:00的发言:

1、你要记录全路径啊

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=123221&skin=0

 

2、然后写

 

DataTables("user").LoadFilter = "全路径 like '%" & _UserOrgan & "%'"   

 


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

 

老师,全路径的话,就相当于把所有的都加载了,比如登录单位是榆林市中心支行,希望加载的是榆林市中心支行和它下属单位的,但它吧上级单位也显示出来了,

 

2、老师,,对于user表中的每一行中的organName字段,如何写代码?

[此贴子已经被作者于2018/8/31 13:22:38编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 14:33:00 [只看该作者]

榆林支行的全路径是什么?比如是 005\003

 

那么就合成条件,如

 

DataTables("user").LoadFilter = "全路径 like '005\003%'"   

 

或者

 

DataTables("user").LoadFilter = "全路径 like '%003%'"   


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 14:33:00 [只看该作者]

不会做上传具体项目测试

 回到顶部
美女呀,离线,留言给我吧!
susu312
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 15:01:00 [只看该作者]

以下是引用有点甜在2018/8/31 14:33:00的发言:
不会做上传具体项目测试

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

 

老师,

1、如果是西安管理员,则显示 西安和榆林的用户,

2、如果是榆林的管理员,则显示榆林市绥德的用户,

3、如果新增一个用户,它的辅助列为空,必须要重置单位那一列才行,可以让它新增进去时就把那列也写上么?

榆林的全路径是005/003,如何只提取003

[此贴子已经被作者于2018/8/31 15:03:16编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 15:26:00 [只看该作者]

你给的例子别人根本无法测试。

 

1、根据 _UserOrgan 查找find到对应的行,找到路径或者全路径 005\003

 

2、执行代码 DataTables("user").LoadFilter = "全路径 like '005\003%'"   

 

 


 回到顶部
美女呀,离线,留言给我吧!
susu312
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 16:13:00 [只看该作者]

以下是引用有点甜在2018/8/31 15:26:00的发言:

你给的例子别人根本无法测试。

 

1、根据 _UserOrgan 查找find到对应的行,找到路径或者全路径 005\003

 

2、执行代码 DataTables("user").LoadFilter = "全路径 like '005\003%'"   

 

 

如何让新增用户也直接把 辅助列的值给写了,现在只有没一行重置,那个辅助列才有值?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/31 16:15:00 [只看该作者]

以下是引用susu312在2018/8/31 16:13:00的发言:

如何让新增用户也直接把 辅助列的值给写了,现在只有没一行重置,那个辅助列才有值?

 

跨表引用 http://www.foxtable.com/webhelp/scr/1451.htm

 


 回到顶部
美女呀,离线,留言给我吧!
susu312
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 16:54:00 [只看该作者]

以下是引用有点甜在2018/8/31 16:15:00的发言:

 

跨表引用 http://www.foxtable.com/webhelp/scr/1451.htm

 

 

老师,我在用户表的 datacolchanged事件中写如下代码,但是新增用户的辅助列还是为空 ,单位里面是存在新增用户的所属单位的

 

If e.DataCol.Name = "OrganName" Then  '如果内容发生变动的是单位列
    If e.NewValue Is Nothing Then  '如果新值是空白,也就是单位列的内容为空
       MessageBox.Show("jjjjj")
        e.DataRow("fuZhu") = Nothing '那么清空辅助列的内容
    Else
         Dim dr  As  DataRow
         MessageBox.Show("zzz")
          '否则在单位表查找同名的单位行,将找到的行赋值给变量dr
         dr =  DataTables("organList").Find("[organName] = '" & e.NewValue &  "'")
         If dr IsNot Nothing Then  '如果找到了同名的单位行,也就是dr不是Nothing
             MessageBox.Show("xxxx")
             e.DataRow("fuZhu") = dr("fuZhu")
         End  If
     End  If
 End If

 

我在例子里测试时可以的,但是在我的项目中就不行,用新增增窗口添加人员,感觉都触发不了datacolchanged事件,不知咋回事

 

1、我新建一个项目 ,里面简单做了一个类似的,然后在表上新增一行时,那个辅助列就可以显示出来

2、但是,我在自己的项目中,通过窗口新增一个用户时,辅助列就么有显示出来

 

 

对了,我项目中,新增用户,是通过sql语句插入到库里面的 ,是不是这个就显示不出来?

[此贴子已经被作者于2018/8/31 17:24:35编辑过]

 回到顶部
总数 28 1 2 3 下一页