Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
狐狸爸爸 发表于: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

2楼
gaoqr 发表于:2009/3/14 7:03:00

学习!

3楼
菜鸟foxtable 发表于:2009/3/14 8:39:00
顶起
4楼
kylin 发表于:2009/3/14 9:10:00

收藏

5楼
狐狸爸爸 发表于:2009/3/14 14:37:00
以下是引用hnaysx在2009-3-14 9:42:00的发言:

水贴太多了 有啥顶的


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

6楼
woodiy 发表于: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, "","省市", "客户名称")

7楼
yangming 发表于:2009/4/12 10:24:00
先收藏,呵呵
共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.