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


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

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

美女呀,离线,留言给我吧!
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 的?


 回到顶部
美女呀,离线,留言给我吧!
susu312
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
susu312
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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%'"   

 

 

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


 回到顶部
美女呀,离线,留言给我吧!
susu312
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 17:58:00 [显示全部帖子]

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

 

不要写到datacolchanged事件。在你添加用户的那段代码那里,find查找对应的值出来,然后设置到你的sql语句里面,一起执行。

老师,这个我弄好了!现在就是基于辅助列加载的问题了。

 

比如现在榆林的辅助列是:005\028

 它的上级西安的辅助列是:005

 它的下级绥德的辅助列是:005\028\099

 

那么我希望,,榆林的管理员进入系统后,只能看到榆林和榆林下级单位的用户信息。

 

那我要扫描榆林的辅助列:005\028么?或者有么有别的办法?提取


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

就是只想要标记出来的后面的那些

[此贴子已经被作者于2018/8/31 18:05:51编辑过]

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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 18:07:00 [显示全部帖子]

以下是引用有点甜在2018/8/31 18:03:00的发言:
条件设置成 "辅助列 like '005\028%'" 不就行了?

哎呀,我真是,我怎么没想到呀,谢谢老师,


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 18:24:00 [显示全部帖子]


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

 

老师,我在测试的时候,出现上面那个问题, 输入的字符带下划线,而且,我鼠标从用户名移到密码,这串字符也移下来


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 18:41:00 [显示全部帖子]

以下是引用有点甜在2018/8/31 18:03:00的发言:
条件设置成 "辅助列 like '005\028%'" 不就行了?

 

 

DataTables("user").LoadFilter = "fuZhu Like '" & organFuZhu & % & " '"

 

这个百分号咋加上去呀?


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


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/31 20:27:00 [显示全部帖子]

以下是引用有点蓝在2018/8/31 20:00:00的发言:
DataTables("user").LoadFilter = "fuZhu Like '" & organFuZhu & "%'"

不就一普通的字符么,这就被吓到了
嘿嘿。。我重启后,它就正常了,谢谢老师。

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