Foxtable(狐表)用户栏目专家坐堂 → [求助]筛选树与副本表的问题


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

主题:[求助]筛选树与副本表的问题

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


加好友 发短信
等级:婴狐 帖子:18 积分:188 威望:0 精华:0 注册:2014/10/30 15:37:00
[求助]筛选树与副本表的问题  发帖心情 Post By:2014/11/3 12:51:00 [只看该作者]


我按照http://www.foxtable.com/help/index.html?n=0917.htm的帮助做,
窗口1中有个table1作为副本绑定的“统计表”,有个treeview1,窗口afterload事件设置的是
Dim cmd As New SQLCommand
Dim
 dt As DataTable
cmd
.CommandText = "Select Distinct Year(日期) As , Month(日期) As 产品 From {窗口1_table1}"
dt
 = cmd.ExecuteReader()
Dim
 trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv
.BuildTree(dt, "年|月|产品")
trv
.Nodes.Insert("显示所有行",0)

运行的时候提示找不到窗口1_table1

我的想法是在窗口的TABLE1中进行筛选
[此贴子已经被作者于2014-11-3 12:52:12编辑过]

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


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2014/11/3 12:57:00 [只看该作者]

{窗口1_table1}
这个表在后台是不存在的

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


加好友 发短信
等级:婴狐 帖子:18 积分:188 威望:0 精华:0 注册:2014/10/30 15:37:00
  发帖心情 Post By:2014/11/3 13:00:00 [只看该作者]

那该怎么做


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


加好友 发短信
等级:婴狐 帖子:18 积分:188 威望:0 精华:0 注册:2014/10/30 15:37:00
  发帖心情 Post By:2014/11/3 13:23:00 [只看该作者]

搞懂了,有个比较笨的方法:

2、目录的NodeMouseDoubleClick事件代码改为:

Dim Filter As String = ""
If
 e.node.Name <> "显示所有行" Then 
    
Dim d1 As Date
    Dim d2 As Date
    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
            d1 = New Date(Year,1,1) 
'
取得该年的第一天
            d2 = new Date(Year,12,31) 
'
取得该年的最后一天
            Filter = 
"
日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 1
            d1 = New Date(Year, Month, 1) 
'
取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) 
'
取得该月的最后一天
            Filter = 
"
日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#"
        Case 2
            d1 = New Date(Year, Month, 1) 
'
取得该月的第一天
            d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) 
'
取得该月的最后一天
            
Filter = "日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# And 产品 = '" & Product & "'"
    End 
Select

End
 If
Tables("
窗口1_table1").Filter = Filter

目录的NodeMouseDoubleClick事件代码最后1行就行了,首先还是对原表进行筛选,然后在副本表中显示


 回到顶部