Foxtable(狐表)用户栏目专家坐堂 → 包含季度的目录树设计


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

主题:包含季度的目录树设计

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


加好友 发短信
等级:小狐 帖子:382 积分:3007 威望:0 精华:0 注册:2012/8/30 16:09:00
包含季度的目录树设计  发帖心情 Post By:2017/5/26 16:33:00 [只看该作者]

在“采购立项统计”窗体中,设计包含“季度”的目录树,但是当点击目录树时没有实现效果。谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:季度目录树.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:办公管理云平台 - 副本.zip
密码:1234



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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 17:35:00 [只看该作者]

'====================生成政府采购立项目录树======================

'首先生成统计表
Dim  dt_cglx  As  DataTable
Dim  b_cglx  As  New  GroupTableBuilder("统计表1",DataTables("tblcglx"))
b_cglx.Groups.AddDef("rq",DateGroupEnum.Year,"年")
b_cglx.Groups.AddDef("rq",DateGroupEnum.Quarter,"季")
b_cglx.Groups.AddDef("rq",DateGroupEnum.Month,"月")
b_cglx.groups.AddDef("dwlb","立项类别")
b_cglx.Groups.AddDef("cgdw","立项单位")
b_cglx.Totals.AddDef("lxID",AggregateEnum.Count,"立项数") '根据客户列来统计记录数,也就是订单数
dt_cglx =  b_cglx.Build(False) '参数设置为False,生成一个临时表,不在主界面显示
'然后根据统计表生成目录树
'Dim  trv_cglx  As  WinForm.TreeView =   e.Form.Controls("trv_cglx")
Dim trv_cglx As WinForm.TreeView = Forms("采购立项").Controls("trv_cglx")
trv_cglx.BuildTree(dt_cglx,  "年|季|月|立项类别|立项单位")
trv_cglx.StopRedraw
For  Each  nd_cglx  As  WinForm.TreeNode  In  trv_cglx.AllNodes
    Dim  nflx  As  Integer =   nd_cglx.DataRow("年")
    Dim  yflx  As  Integer =   nd_cglx.DataRow("月")
    Dim  jidu  As  Integer =   nd_cglx.DataRow("季")
    Dim  badwlx  As  String =   nd_cglx.DataRow("立项单位")
    Dim badwlblx As String=nd_cglx.DataRow("立项类别")
    Select  Case  nd_cglx.Level
        Case  0
            nd_cglx.Text =   nd_cglx.text  &  "年( "  &  dt_cglx.Compute("Sum(立项数)","年 = "  &  nflx)  &  " )项"
        Case  1
            nd_cglx.Text =   nd_cglx.text  &  "季( "  &  dt_cglx.Compute("Sum(立项数)","年 = "  &  nflx  &  " And  季 = "  &  jidu)  &  " )项"

        Case  2
            nd_cglx.Text =   nd_cglx.text  &  "月( "  &  dt_cglx.Compute("Sum(立项数)","年 = "  &  nflx &  " And  季 = "  &  jidu  &  " And  月 = "  &  yflx)  &  " )项"
        Case  3
            nd_cglx.Text =   nd_cglx.text  &  "( "  &  dt_cglx.Compute("Sum(立项数)","年 = "  &  nflx  &  " And  季 = "  &  jidu  &  " And  月 = "  &  yflx & " And 立项类别 = '" & badwlblx & "'")  &  " )项"
        Case 4
            nd_cglx.Text =   nd_cglx.text  &  "( "  &  nd_cglx.DataRow("立项数")  &  " )项"
        End  Select
    Next
    trv_cglx.Nodes.Insert("显示所有采购立项","显示所有采购立项( "  &  dt_cglx.Compute("Sum(立项数)")  &  " )项",0)
    trv_cglx.ResumeRedraw
    Tables("tblcglx").Filter=""

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 17:36:00 [只看该作者]

采购立项窗体筛选目录树NodeMouseClick事件

Dim e As Object = Args(0)
Dim  Filter As String = ""
Dim trv As WinForm.TreeView = e.Form.Controls("trv_cglx")
Dim node As WinForm.TreeNode=trv.SelectedNode
If node.Name <> "显示所有采购立项" Then  '要用Name属性,不能用Text属性
    Dim  d1 As   Date
    Dim  d2 As   Date
    Dim  Year As   Integer =  node.DataRow("年")
    Dim  Month As   Integer =  node.DataRow("月")
    Dim   Product As   String =  node.DataRow("立项类别")
    Dim pric As String=node.DataRow("立项单位")
    Select Case  node.Level
        Case  0
            d1 =  New   Date(Year,1,1)  '取得该年的第一天
            d2 =  new   Date(Year,12,31)  '取得该年的最后一天
            Filter =  "rq >= #"  &  d1  &  "# And rq <= #"  &  d2  &  "#"
        Case  1
            Dim q As Integer = (Month- 1) \ 3 + 1 '计算现在是第几个季度
            d1 = New Date(Year, 3 * (q - 1) + 1, 1) '获取本季度的第一天
            d2 = New Date(Year, 3 * q, Date.DaysInMonth(Year,3 * q)) '获取本季度的最后一天
            Filter =  "rq >= #"  &  d1  &  "# And rq <= #"  &  d2  &  "#"
        Case  2
            d1 =  New   Date(Year,  Month,  1)  '取得该月的第一天
            d2 =  new   Date(Year,  Month,   Date.DaysInMonth(Year,Month))  '取得该月的最后一天
            Filter =  "rq >= #"  &  d1  &  "# And rq <= #"  &  d2  &  "#"
        Case  3
            d1 =  New   Date(Year,  Month,  1)  '取得该月的第一天
            d2 =  new   Date(Year,  Month,   Date.DaysInMonth(Year,Month))  '取得该月的最后一天
            Filter = "rq >= #" & d1 & "# And rq <= #"  & d2 & "# And dwlb = '"  & Product & "'"
        Case 4
            d1 =  New   Date(Year,  Month,  1)  '取得该月的第一天
            d2 =  new   Date(Year,  Month,   Date.DaysInMonth(Year,Month))  '取得该月的最后一天
            Filter = "rq >= #" & d1 & "# And rq <= #"  & d2 & "# And dwlb = '"  & Product & "' and cgdw = '" & pric & "'"
            
    End Select
End If
Tables("tblcglx").Filter=Filter

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


加好友 发短信
等级:小狐 帖子:382 积分:3007 威望:0 精华:0 注册:2012/8/30 16:09:00
  发帖心情 Post By:2017/5/27 9:14:00 [只看该作者]

谢谢!

 回到顶部