Foxtable(狐表)用户栏目专家坐堂 → 窗口的SQLQuery表能不能加进去加载树?


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

主题:窗口的SQLQuery表能不能加进去加载树?

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
窗口的SQLQuery表能不能加进去加载树?  发帖心情 Post By:2014/1/28 9:05:00 [显示全部帖子]

请问各位老师:

窗口的SQLQuery表能不能加进去加载树?

下面是帮助的文档,不过是针对内部表的。那外部查询表呢?能否也实现?


2、然后新建一个窗口,窗口中插入一个目录树(TreeView),窗口的AfterLod事件代码设为:

Dim cmd As New SQLCommand
Dim
dt As DataTable
cmd
.CommandText = "SELECT DISTINCT 产品,客户 From {订单}"
dt
= cmd.ExecuteReader()
Dim
trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv
.BuildTree(dt,"产品|客户")
trv
.Nodes.Insert("加载所有数据",0)


3、最后将目录树的NodeMouseDoubleClick事件设为:

Dim Filter As String
If
e.Node.Text = "加载所有数据" Then
Filter = ""
Else
Dim
Value() As String
Value = e.Node.FullPath.Split("\")
Select
Case e.Node.Level
Case
0
Filter ="[产品] = '" & Value(0) & "'"
Case 1
Filter ="[产品] = '" & Value(0) & "' And [客户] = '" & Value(1) & "'"
End Select
End
If
DataTables
("订单").LoadFilter = Filter
DataTables
("订单").Load()

这样我们只需双击某个节点,既可动态加载对应的订单


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/1/28 20:45:00 [显示全部帖子]

谢谢有点甜老师,可以了!!!

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/2/17 21:00:00 [显示全部帖子]

有点甜老师 

我的这个表是一个用select语句写出来的窗口的SQLQuery表,select语句如下:

SELECT VIP消费信息.购买日期 AS "日期", VIP消费信息.门市专柜编号 AS "门市专柜编号", VIP消费信息.门市专柜简称 AS "门市专柜简称", SUM(VIP消费信息.实收金额) AS "VIP销售额", 门店整体销售额.门店整体销售额 AS "门店整体销售额" ,SUM(VIP消费信息.实收金额)/门店整体销售额.门店整体销售额 AS "VIP销售占比",COUNT(DISTINCT VIP消费信息.VIP卡号) AS "VIP销售笔数",SUM(VIP消费信息.数量) AS "VIP销售件数", SUM(VIP消费信息.实收金额)/COUNT(DISTINCT VIP消费信息.VIP卡号) AS "VIP客单价", SUM(VIP消费信息.实收金额)/SUM(VIP消费信息.数量) AS "VIP物单价", SUM(VIP消费信息.实收金额)/COUNT(DISTINCT VIP消费信息.VIP卡号)/SUM(VIP消费信息.实收金额)/SUM(VIP消费信息.数量) AS "VIP连带率"
FROM (dbo.VIP消费信息 AS VIP消费信息
     INNER JOIN dbo.门店整体销售额 AS 门店整体销售额 ON (VIP消费信息.购买日期 = 门店整体销售额.购买日期 and VIP消费信息.门市专柜编号 = 门店整体销售额.门市专柜编号 ))
GROUP BY VIP消费信息.购买日期, VIP消费信息.门市专柜编号, VIP消费信息.门市专柜简称, 门店整体销售额.门店整体销售额

我想在这个表的旁边加一个  加载树,照着帮助了,窗口的After Load 代码如下:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT DISTINCT Year(日期) As 年, Month(日期) As 月, 门市专柜编号 From {经营成果分析_经营成果分析}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree(dt, "年|月|门市专柜编号")

也设置了目录树的代码:
Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Filter ="Year(日期) = " & Value(0)
    Case 1
        Filter ="Year(日期) = " & Value(0) & " And Month(日期) = " & Value(1)
    Case 2
        Filter ="Year(日期) = " & Value(0) & " And Month(日期) = " & Value(1) & " And 门市专柜编号 = '" & Value(2) & "'"
    End Select
DataTables("经营成果分析_经营成果分析").LoadFilter = Filter
DataTables("经营成果分析_经营成果分析").Load()

应用窗口时显示:
对象名 '经营成果分析_经营成果分析' 无效。
错误代码位置:窗口,经营成果分析,After Load

是什么情况呢?
cmd.CommandText = "SELECT DISTINCT Year(日期) As 年, Month(日期) As 月, 门市专柜编号 From {经营成果分析_经营成果分析}"

表名不是这样写吗?

[此贴子已经被作者于2014-2-17 21:00:39编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/2/17 21:22:00 [显示全部帖子]

哎,我还是上传例子上来给您看下。。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学习案例.rar



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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/2/17 22:41:00 [显示全部帖子]

谢谢有点甜老师,你可以给我那个例子吗?我在你写的那个例子看下。
我复制这些代码还是出错。
说:
afterload代码

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C

不是cmd的成员......

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/2/17 22:58:00 [显示全部帖子]

哈哈,终于可以了。哎,真是笨啊。谢谢有点甜老师!!

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/2/17 23:03:00 [显示全部帖子]

有点甜老师,再问一个问题:

那如果是加载树要加载的查询表的统计表呢?
[此贴子已经被作者于2014-2-19 20:55:54编辑过]

 回到顶部