Foxtable(狐表)用户栏目专家坐堂 → 加载树刷新问题,权限控制


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

主题:加载树刷新问题,权限控制

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


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

看是不是这个问题 http://www.foxtable.com/help/topics/2344.htm

 


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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/6 22:27:00 [只看该作者]



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

我在执行sql上测试过没有问题呀,奇怪。


还真是没有指定数据源呀,
加上后可以了,谢谢!折腾了一个晚上,哈哈。

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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/7 22:18:00 [只看该作者]

有一个bug,花了一个两个晚上没有搞定,不知道大家碰到过没有?
即当用”区域经理“,”区域经理2“的用户登录时,点击加载树的任何一个点,马上就会下载全部的数据,
而当时,销售工程师,或者销售总监时,却是正常的。
    

窗口的afterload事件:

    Select Case  user.roles
        Case   "销售工程师"
            cmd.CommandText = "SELECT DISTINCT Year(记录时间) As 年, Month(记录时间) As 月, DAY(记录时间) As 日, 销售姓名  Fro m {拜访日志} WHERE 销售姓名 = '" & User.Name & "'"
            dt = cmd.ExecuteReader()
            trv.BuildTree(dt,"年|月|日|销售姓名")
             
        Case   "区域经理" , "区域经理2"
            cmd.CommandText = "SELECT DISTINCT Year(记录时间) As 年, Month(记录时间) As 月, DAY(记录时间) As 日, 销售姓名  Fro m {拜访日志} WHERE 大区经理 = '" & User.Name & "' or  销售姓名 = '" & User.Name & "'"
            dt = cmd.ExecuteReader()
            trv.BuildTree(dt,"年|月|日|销售姓名")
             
        Case   "销售总监","销售副总"
            cmd.CommandText = "SELECT DISTINCT Year(记录时间) As 年, Month(记录时间) As 月, DAY(记录时间) As 日,销售姓名  Fro m {拜访日志}"
            dt = cmd.ExecuteReader()
            trv.BuildTree(dt,"年|月|日|销售姓名")           
        
            
    End Select

treeview的nodemousedoubleclick事件:

Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
Dim Filter As String
Dim Year As Integer = dr("年")
Dim Month As Integer = dr("月")
Dim Da As Integer = dr("日")
Dim Sales As String = dr("销售姓名")


Select Case e.Node.Level
    Case 0
        Filter ="Year(记录时间) = " & Year
    Case 1
        Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month
    Case 2
         Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month & "  And DAY(记录时间) = " & Da 
    Case 3
         Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month & "  And DAY(记录时间) = " & Da & "  And 销售姓名 =  '" & Sales & "'"

   End Select


DataTables("拜访日志").LoadFilter = Filter
DataTables("拜访日志").Load()


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


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

去命令窗口执行

 

msgbox(DataTables("拜访日志").LoadFilter)


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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/7 22:29:00 [只看该作者]

[_Identify] is Null

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


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

去看beforeLoad事件

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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/7 22:45:00 [只看该作者]

Select Case  user.roles
    
    Case  "销售工程师"
        
        Dim fl As String = "[销售姓名] = '" & User.Name & "'"
        If e.DataTable.LoadFilter = "" Then
            e.DataTable.LoadFilter = fl
        ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
            e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl
        End If
        
        
    Case  "区域经理", "区域经理2"
        
        Dim fl As String = " 销售姓名 = '" & User.Name & "' or 大区经理 = '" & User.Name & "'"
        If e.DataTable.LoadFilter = "" Then
            e.DataTable.LoadFilter = fl
        ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
            e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl
        End If
        

        
End Select

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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/7 22:49:00 [只看该作者]

上面的的代码注释了,也没有用。

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


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

不应该,nodemousedoubleclick事件代码改成这样看看

 

Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行
Dim Filter As String
Dim Year As Integer = dr("年")
Dim Month As Integer = dr("月")
Dim Da As Integer = dr("日")
Dim Sales As String = dr("销售姓名")


Select Case e.Node.Level
    Case 0
        Filter ="Year(记录时间) = " & Year
    Case 1
        Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month
    Case 2
         Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month & "  And DAY(记录时间) = " & Da 
    Case 3
         Filter ="Year(记录时间) = " & Year & " And Month(记录时间) = " & Month & "  And DAY(记录时间) = " & Da & "  And 销售姓名 =  '" & Sales & "'"

End Select


DataTables("拜访日志").LoadFilter = Filter
msgbox(DataTables("拜访日志").LoadFilter)
DataTables("拜访日志").Load
msgbox(DataTables("拜访日志").LoadFilter)

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


加好友 发短信
等级:童狐 帖子:236 积分:1881 威望:0 精华:0 注册:2013/11/7 14:40:00
  发帖心情 Post By:2015/9/8 12:48:00 [只看该作者]


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

知道问题在哪里了,在于第二个msgbox的时候 ,由于区域经理有两个条件判断,用or连接的,而or在最后面,所以所有条件都符合了,请问如何修改?



 回到顶部
总数 46 上一页 1 2 3 4 5 下一页