Foxtable(狐表)用户栏目专家坐堂 → 一个动态加载数据的例子


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

主题:一个动态加载数据的例子

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
一个动态加载数据的例子  发帖心情 Post By:2009/3/14 3:49:00 [只看该作者]

假定你有一个订单表,也许有几百个产品,上十万个订单,那么将其全部载入到Foxtable中是不现实的。
能不能用一个目录树列出所有的产品和客户,当我们双击某个产品或客户时,才加载对应的订单呢?
实现这样的功能,其实很简单:


1、首先我们参考大容量数据的管理,使得打开项目的时候,订单表不会加载任何数据。


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.BuildDataTree(dt, "",
"产品", "客户"
)


这样一旦打开窗口,该目录树列出所有的产品和客户。


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


Dim
Value()As String
Dim
Filter 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
DataTables
("订单").LoadFilter = Filter
DataTables
("订单"
).Load()


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

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目11.table


[本帖被加为精华]
 回到顶部
帅哥哟,离线,有人找我吗?
gaoqr
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/14 7:03:00 [只看该作者]

学习!


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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/3/14 8:39:00 [只看该作者]

顶起

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


加好友 发短信 F6
等级:狐精 帖子:3036 积分:19229 威望:0 精华:2 注册:2008/9/1 7:50:00
  发帖心情 Post By:2009/3/14 9:10:00 [只看该作者]

收藏


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/14 14:37:00 [只看该作者]

以下是引用hnaysx在2009-3-14 9:42:00的发言:

水贴太多了 有啥顶的


还是你的水多点。
图片点击可在新窗口打开查看


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


加好友 发短信
等级:小狐 帖子:363 积分:2998 威望:0 精华:0 注册:2008/11/11 13:42:00
  发帖心情 Post By:2009/4/12 10:17:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

我设置如下代码,可是出错了

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.BuildDataTree(dt, "","省市", "客户名称")


 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/12 10:24:00 [只看该作者]

先收藏,呵呵

 回到顶部