Foxtable(狐表)用户栏目专家坐堂 → 权限


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

主题:权限

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 11:40:00 [只看该作者]

什么统计目录?没看懂

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


加好友 发短信
等级:七尾狐 帖子:1503 积分:10158 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/9 11:52:00 [只看该作者]

'首先生成统计表
Dim dt As DataTable
Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("日期",DateGroupEnum.Month,"月")
b.Groups.AddDef("产品") 
b.Totals.AddDef("_Identify",AggregateEnum.Count,"订单数") 
dt = b.Build(False) '参数设置为False,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|产品")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Year As Integer = nd.DataRow("年")
    Dim Month As Integer = nd.DataRow("月")
    Dim Product As String = nd.DataRow("产品")
    Select Case nd.Level
        Case 0
            nd.Text = nd.text & "年(" & dt.Compute("Sum(订单数)","年 = " & Year) & "条)"
        Case 1
            nd.Text = nd.text & "月(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month) & "条)"
        Case 2
            nd.Text = nd.text & "(" & nd.DataRow("订单数") & ")"
    End Select
Next
trv.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(订单数)") & "条)",0)
trv.ResumeRedraw

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


加好友 发短信
等级:七尾狐 帖子:1503 积分:10158 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/9 11:52:00 [只看该作者]

Dim Filter As String = ""
If e.Node.Name <> "加载所有行" Then '要用Name属性,不能用Text属性
    Dim Year As Integer = e.Node.DataRow("年")
    Dim Month As Integer = e.Node.DataRow("月")
    Dim Product As String = e.Node.DataRow("产品")
    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 产品 = '" & Product & "'"
    End Select
End If
DataTables("订单").LoadFilter = Filter
DataTables("订单").Load()

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 11:55:00 [只看该作者]

Dim dt As DataTable
Dim b As New SQLGroupTableBuilder("统计表1","订单")
b.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("日期",DateGroupEnum.Month,"月")
b.Groups.AddDef("产品") 
b.Totals.AddDef("_Identify",AggregateEnum.Count,"订单数") 
b.filter= “xxx” 按7楼的方法生成和权限有关的统计条件
dt = b.Build(False) '参数设置为False,生成一个临时表,不在主界面显示

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


加好友 发短信
等级:七尾狐 帖子:1503 积分:10158 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/10 22:40:00 [只看该作者]


Dim dr1 As DataRow =  DataTables("窗口权限").sqlfind(" ','+角色用户+',' like '%," & user.Roles & ",%'  And  窗口名 = '" & e.Form.Name & "' " )
Dim dt As DataTable  
Dim jb As new SQLGroupTableBuilder("进货退货年月日店名","进货退货")
jb.C
jb.Groups.AddDef("日期",DateGroupEnum.Year,"年")
jb.Groups.AddDef("日期",DateGroupEnum.Month,"月")
jb.Groups.AddDef("日期",DateGroupEnum.Day,"日")
jb.Groups.AddDef("店名汉字")
jb.Totals.AddDef("_Identify",AggregateEnum.Count,"订单数")
jb.filter= "日期 =  #" & dr1("权限统计加载时间") & "# "
dt = jb.Build(True) '参数设置为False,生成一个临时表,不在主界面显示
''然后根据统计表生成目录树
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|日|店名汉字")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
Dim Year As Integer = nd.DataRow("年")
Dim Month As Integer = nd.DataRow("月")
Dim Day As Integer = nd.DataRow("日")
Dim a As String = nd.DataRow("店名汉字")
Select Case nd.Level
Case 0
nd.Text = nd.text & "年(" & dt.Compute("Sum(订单数)","年 = " & Year) & "行)"
Case 1
nd.Text = nd.text & "月(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month) & "行)"
Case 2
nd.Text = nd.text & "日(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month & " And 日 = " & Day) & "行)"
Case 3
nd.Text = nd.text & "(" & nd.DataRow("订单数") & "行)"
End Select
Next
trv.Nodes.Insert("加载所有行","加载所有行(" & dt.Compute("Sum(订单数)") & "行)",0)
trv.ResumeRedraw



这样吗

 回到顶部
帅哥,在线噢!
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/10 22:46:00 [只看该作者]

dim filter as string 
for each s as string in user.Roles.split(",")
if filter > "" then filter = filter & " or "
filter = filter & "','+角色用户+',' like '%," & s & ",%'"
next
filter = "(" & filter & ") And  窗口名 = '" & e.Form.Name & "' "
msgbox(filter )
Dim dr1 As DataRow =  DataTables("窗口权限").sqlfind(filter)

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


加好友 发短信
等级:七尾狐 帖子:1503 积分:10158 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/10 22:59:00 [只看该作者]

jb.filter= "日期 =  #" & dr1("权限统计加载时间") & "# "


这里什什么改成权限统计加载时间,当月,当天,全部,几天那样

 回到顶部
帅哥,在线噢!
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/10 23:09:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1503 积分:10158 威望:0 精华:0 注册:2013/6/8 16:19:00
  发帖心情 Post By:2020/11/10 23:14:00 [只看该作者]

权限统计加载时间列=全部,本月,当天,什么让日期对应权限统计加载时间列
[此贴子已经被作者于2020/11/10 23:19:44编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106092 积分:539565 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/11 8:31:00 [只看该作者]

判断字符,如果是全部,不用添加条件,如果是本月,当天,请仔细看看18楼帮助,比如:

if dr1("某某列") = “本月
Dim y As Integer = date.today.year '指定年份
Dim 
m As Integer = date.today.month '指定月份
Dim 
dt1 As New Date(ym1)
Dim 
dt2 As New Date(ymDate.DaysInMonth(y,m)) '获取该月的最后一天
Dim 
Filter As String
Filter
 = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#" 
jb.filter= Filter
else if dr1("某某列") = “当天
jb.filter= "日期 =  #" & date.today & "# "
end if


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