以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- TreeView的菜单怎么从多个表去获取呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46165) |
-- 作者:toplyz -- 发布时间:2014/2/18 11:18:00 -- TreeView的菜单怎么从多个表去获取呢? TreeView的菜单怎么从多个表去获取呢? |
-- 作者:lsy -- 发布时间:2014/2/18 11:23:00 -- 用SQL多表查询,得到一个DataTable,根据这个表生成目录树。 |
-- 作者:toplyz -- 发布时间:2014/2/18 11:44:00 -- 就是想问一下这个SQL语句怎么写,怎么达到多表查询出来的结果是个合集 |
-- 作者:Bin -- 发布时间:2014/2/18 11:45:00 -- 那至少你也要有表和文件发出来啊, 凭空怎么写? |
-- 作者:小刚 -- 发布时间:2014/2/18 11:48:00 -- 用SQL语句设计加载树 Foxtable内置了加载树功能,可以轻松地管理大容量数据。 本示例可以参考CaseStudy目录下的文件“动态加载演示.Table” 实现这样的功能,其实很简单: 1、首先参考限制初始加载量,使得打开项目的时候,订单表不会加载任何数据。 本示例使用的是内部数据表,为了初始不加载任何定订单数据,我们在项目事件BeforeLoadInnerTable设置了如下的代码: If
e.DataTableName = "订单"
Then 2、然后新建一个窗口,窗口中插入一个目录树(TreeView),窗口的AfterLod事件代码设为: Dim
cmd
As
New
SQLCommand 这样一旦打开窗口,该目录树列出所有的产品和客户。 3、最后将目录树的NodeMouseDoubleClick事件设为: Dim
Filter
As
String 这样我们只需双击某个节点,既可动态加载对应的订单。 |
-- 作者:toplyz -- 发布时间:2014/2/18 11:54:00 -- 回复:(Bin)那至少你也要有表和文件发出来啊, 凭空怎... 有两张表{金磨坊}和{金嘉福},他们的字段都是一样的,我要这两个表中取得工厂,类别,和材质这3个字段, 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) 这样只能取得一张表的生产一个菜单,我要生成多个工厂的菜单
|
-- 作者:小刚 -- 发布时间:2014/2/18 12:00:00 -- 先把两张表合并,再产生目录树。思路应该是这样的。 |
-- 作者:小刚 -- 发布时间:2014/2/18 12:01:00 -- 数据填充器 Filler用于从表中提取数据,并填充到另一个表中。 属性:
提示:数据来源列和数据接收列是可以省略的,或者只设置其中一个,Filler会自动查找同名列进行匹配填充。 |
-- 作者:狐狸爸爸 -- 发布时间:2014/2/18 12:33:00 -- 将:
cmd.CommandText = "SELECT DISTINCT 工厂,类别,材质 From {金嘉福}"
改为:
cmd.CommandText = "SELECT DISTINCT 工厂,类别,材质 From {金嘉福} UNION ALL SELECT DISTINCT 工厂,类别,材质 From {另一个表}"
建议看看: http://www.foxtable.com/help/topics/0688.htm
[此贴子已经被作者于2014-2-18 12:33:48编辑过]
|