以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动生成目录树:能否固定下来? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3300) |
-- 作者:mr725 -- 发布时间:2009/6/26 13:44:00 -- 自动生成目录树:能否固定下来? Dim tv As WinForm.TreeView tv =e.Form.Controls("TreeView1") tv.BuildDataTree("订单", "", "产品", "客户", "雇员") 这样形成的树目录,每次打开窗口(在afterload中含上面代码),都会重新加载一次,如果记录行数多时会很慢,如果已经加载过的树目录能固定下来,就不会每次打开这个窗口都重新加载了,需要时再刷新来重新加载不是更好吗? 不知道表达清楚了没有?~ |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/26 13:45:00 -- 不可以的。 |
-- 作者:mr725 -- 发布时间:2009/6/26 13:50:00 -- 如果‘订单’表经过了筛选,那么形成的树目录就不完整了!~ 取消筛选显示所有行也会很慢~ |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/26 14:03:00 -- 筛选不影响的,因为目录树是根据DataTable生成的。 |
-- 作者:mr725 -- 发布时间:2009/6/26 17:32:00 -- 这两断代码有何区别吗?:
=================================== =================================== [此贴子已经被作者于2009-6-26 17:36:06编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/6/26 17:38:00 -- LoadFilter加Load是用于加载数据的,针对的是DataTable,意思是从后台加载符合条件的数据到DataTable中。 Filter是筛选,针对的是Table,意思是从DataTable中提取符合条件的数据显示在Table中。 两者作用完全不同。 |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/26 17:43:00 -- 在使用LoadFilter加Load的时候,目录树不应该直接根据DataTable生成,其实之前那么多的动态加载数据演示,已经提供了很好的例子给你。 你可以打开CaseStudy目录下关于动态加载的示例文件,可以看到目录树并没有受到LoadFilter的影响。 |
-- 作者:mr725 -- 发布时间:2009/6/26 17:45:00 -- 以下是引用狐狸爸爸在2009-6-26 14:03:00的发言:
筛选不影响的,因为目录树是根据DataTable生成的。 5楼第二断代码筛选后,为什么重新加载树目录时,不能完整加载? 这个datatable也还在呀! |
-- 作者:狐狸爸爸 -- 发布时间:2009/6/26 17:57:00 -- DataTable是还在,但是内容不同了,因为你重新加载了。 例如总共有1000行,其中100行的产品为Pd01,现在重新加载,加载条件为产品等于pd01,那么Load后,DataTable就只有100行数据了,重新生成目录树的话,当然是不完整的,数据都不完整了嘛。 |
-- 作者:mr725 -- 发布时间:2009/6/26 18:27:00 -- 以下是引用狐狸爸爸在2009-6-26 17:57:00的发言:
DataTable是还在,但是内容不同了,因为你重新加载了。 例如总共有1000行,其中100行的产品为Pd01,现在重新加载,加载条件为产品等于pd01,那么Load后,DataTable就只有100行数据了,重新生成目录树的话,当然是不完整的,数据都不完整了嘛。 datatable是一个‘仓库’啊,怎么内容不同? 在这里好像变成了table了(由1000行变成了100行)??? |