Foxtable(狐表)用户栏目专家坐堂 → 自定义用户登录引发的加载问题-已解決


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

主题:自定义用户登录引发的加载问题-已解決

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
自定义用户登录引发的加载问题-已解決  发帖心情 Post By:2013/8/18 0:23:00 [只看该作者]

自定义用户登录

可变性更大

由于用户组別多,相对要加载的表总数量多

想做到的是对应用户來加載合适的表.

 

现在已经做到如下:

 

打开项目后--->默认用户登录

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


 

禁止加载所有表(除权限表)


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

 

並自动显示自定义登录窗--->实际用户登入

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

 

按权限表显示对应的表(代码设在登录窗口的"确定"键里.)

 


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

问题是,显示出來的表,並未加载

 

如果在

BeforeLoadOuterTable

里设,以实际现存显示表,进行一次性加载,具体如何呢?

 还是仍然设在登入的确定键里呢?

 

我曾想过用

查表名
For Each dt As DataTable In DataTables
    Output.Show(dt.Name)
Next

以历遍來把现存表重加載一次.

不过好像不成功...


附上开发版例子


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


 

[此贴子已经被作者于2013-8-20 1:08:22编辑过]

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/8/18 9:46:00 [只看该作者]

我在自定义登录窗的确定键
加入以下的代码
        For Each dtn As DataTable In DataTables
            Dim dtnam As String
            dtnam = dtn.name
            If Tables(dtnam).Visible = True Then
                DataTables(dtnam).LoadFilter = "[_Identify] > 0 "
                DataTables(dtnam).Load
                Messagebox.show(dtn.name & "加载完成")
            End If
        Next

结果可以把现存显示的表进行加載,但感觉好像繞了一圈,有沒有更好的方法。呢?
[此贴子已经被作者于2013-8-18 10:05:18编辑过]

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


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

 你这样做,差不多了。

在beforeloadoutertable写代码
If e.DataTableName <> "授权表" Then
    e.SelectString = "select * from {" & e.DataTableName & "} where 1=2"
End If

如果要在想一开始就决定是否加载表,也可以,就是用sql代码先读取授权表的内容,然后根据授权表得到哪些表需要加载(得到一个集合)。在beforeloadoutertable比较e.DaTableName是否在集合里,控制加载。
(不过这样也不见得好多少)

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/8/20 0:55:00 [只看该作者]

那麼就好了,最怕就是设得太差,影响內存

 回到顶部