度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2107|回复: 6
打印 上一主题 下一主题

[分享] 树型部件分层加载数据实现思路,提高速度,提高效率

[复制链接]

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
跳转到指定楼层
楼主
发表于 2020-3-11 17:53:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我们知道,树型部件中可以以树型展示数据出来。例如我们把组织机构展示出来,可以写业务表:
select  dept_id,dept_name,upper_id from sa_dept_dict
然后再设置树型关键列未 dept_id,上级列未upper_id。这样就出来了一个树型的数据。

这样在一般业务中是没有问题的,如果我们设想一下sa_dept_dict表中有成千上万条数据,这样直接一下全部读出来形成一棵树,效率可能就很慢。那如何来解决较好呢。

我们知道因为树型是可以一个一个节点展开的,那就可以先默认加载第一级的数据出来,然后点击第一级的某一个值,再把该值的第二级加载出来,这样点某一个就只加载某一个的直接下级,数据量一下就少很多了,效率提高就非常明显。

例如:开始打开树型的时候,只查询第一层的数据出来。

select  dept_id,dept_name,upper_id from sa_dept_dict where  upper_id =0

然后,在树型部件的“数据行双击事件”中,再写以下代码。


dim dt=树型部件1.DataTable

if 树型部件1.TreeList.FocusedNode.Nodes.Count=0 then
    '加载选择节点的子数据。并填写到树型部件中,实现分层加载数据。
    dim dt1=executeSelect("select dept_id,dept_name,upper_id from sa_dept_dict where upper_id="&树型部件1.GetFocusedNodeValue("DEPT_ID"))
   for each dr in dt1.Rows
      dt.Rows.Add(dr.ItemArray)
    next
end if


这样就实现了分层加载数据,大家可以试试,数据量越大,效果越明显。比如总共上万条数据后,分层加载数据就非常有必要。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
沙发
 楼主| 发表于 2020-3-11 17:54:13 | 只看该作者
大家都自行测试下,掌握此用法。
回复 支持 反对

使用道具 举报

198

主题

1313

帖子

3784

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3784
板凳
 楼主| 发表于 2020-3-11 18:20:03 | 只看该作者
构建熟悉后,就要考虑构建中的效率问题了。
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9347

积分

论坛元老

Rank: 8Rank: 8

积分
9347
地板
发表于 2020-3-11 23:05:59 | 只看该作者
涨姿势了
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9347

积分

论坛元老

Rank: 8Rank: 8

积分
9347
5#
发表于 2020-3-11 23:06:46 | 只看该作者
还能这么整啊??( ^_^ )不错嘛
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9347

积分

论坛元老

Rank: 8Rank: 8

积分
9347
6#
发表于 2020-5-12 23:24:45 | 只看该作者
如果有图那么看着会更加直观些
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9347

积分

论坛元老

Rank: 8Rank: 8

积分
9347
7#
发表于 2020-6-21 15:53:09 | 只看该作者
这么写还是有弊端啊,无法体现选择行是否存在子项,不直观,必须要每个都点击才清楚呢
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-12-4 02:00 , Processed in 0.154101 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表