Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树代码帮修正下


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

主题:[求助]目录树代码帮修正下

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


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
[求助]目录树代码帮修正下  发帖心情 Post By:2020/7/8 20:48:00 [显示全部帖子]

操作如下,感觉代码不太合理,
实际效果也确实是的,出来的结果都会有两条一样的。
帮看下问题出在那里.

1.首先在窗口中加入目录树与控件窗口(未提前绑定表)
2.在窗口的 AfterLoad 下加入如下代码:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.ConnectionName = con_name
cmd.CommandText = "SE LECT DISTINCT 年,月,部门号 From 缴库成本"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt,"年|月")
trv.Nodes.Insert("加载所有数据",0)
3.在目录树的 NodeMouseClick 加入下面代码:
Dim tab As Table = Tables("统计分析_table1")
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.ConnectionName = con_name
cmd.CommandText = "sel ect * from 缴库成本"
dt = cmd.ExecuteReader
Dim Filter As String
If e.node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[年] = '" & dr("年") & "'"
        Case 1
            Filter ="[年] = '" & dr("年") & "' And [月] = '" & dr("月") & "'"
    End Select
End If
tab.DataSource = dt
dt.LoadFilter = Filter
dt.Load

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


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/7/9 8:04:00 [显示全部帖子]

重复,是被查询的数据本身重复了。

3.这里的代码,帮看下,这样写是不是可以的。

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


加好友 发短信
等级:一尾狐 帖子:482 积分:4510 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/7/9 9:55:00 [显示全部帖子]

收到,我修改下。
再接着问下,合计占比显示问题。右下角这个怎么样才能搞出来。


月份 车间 材料 人工 制费 合计 材料% 人工% 制费%
6月 A   27,506    9,970   85,472     122,948 22% 8% 70%
6月 B   37,844   42,264   89,898     170,006 22% 25% 53%
6月 C   99,814    5,340   31,931     137,086 73% 4% 23%
6月 D   44,358   40,436   87,879     172,673 26% 23% 51%
6月 E   61,408   34,313      266      95,987 64% 36% 0%
6月 F   90,278   43,585   41,760     175,622 51% 25% 24%
合计    361,209  175,908  337,204     874,321 41% 20% 39%

 回到顶部