CN111078763A - 基于zTree的树形结构异步提取方法、终端设备及存储介质 - Google Patents
基于zTree的树形结构异步提取方法、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111078763A CN111078763A CN201911281867.8A CN201911281867A CN111078763A CN 111078763 A CN111078763 A CN 111078763A CN 201911281867 A CN201911281867 A CN 201911281867A CN 111078763 A CN111078763 A CN 111078763A
- Authority
- CN
- China
- Prior art keywords
- node
- ztree
- nodes
- array
- tree structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及基于zTree的树形结构异步提取方法、终端设备及存储介质,该方法中包括:S1:采集构成树形结构各节点的数据;S2:查询所有第i级节点对应的数据,并对其是否具有子节点的属性进行设置;S3:前端页面通过zTree进行第i级节点的树形显示;S4:判断i=1是否成立,如果是,进入S5;否则,设定第i‑1级节点的updateNode属性为true,进入S5;S5:判断i=I是否成立,如果是,设定zTree中禁用默认的子节点被选中的功能,结束;否则,进入S6;S6:针对显示的每个第i级节点设置加载子节点操作,令i=i+1,返回S2。本发明在zTree的基础上对其进行优化,实现父节点的批量的提取和操作,能更大范围的体现zTree灵活多变的特性。
Description
技术领域
本发明涉及树形结构显示领域,尤其涉及一种基于zTree的树形结构异步提取方法、终端设备及存储介质。
背景技术
zTree是一个依靠jQuery实现的多功能“树插件”,其优异的性能、灵活的配置、多种功能的组合是zTree最大优点。zTree采用了延迟加载技术,能够轻松加载上万节点。zTree支持JSON格式的数据,支持静态和Ajax异步两种加载方式加载节点数据,支持灵活的checkbox和radio选择功能。zTree还提供多种事件响应回调。zTree不但具有灵活的编辑功能,可随意拖拽节点,还可以多节点拖拽。简单的参数配置、实现灵活多变的功能使得zTree成为不少系统的优先选择。但正是因为zTree是一种“树插件”,其专注点都在于对子节点进行操作,使得对于父节点操作比较弱化。目前针对于父节点的操作较少,当点击父节点时,会直接将父节点下的所有子节点选中。
发明内容
为了解决上述问题,本发明提出了一种基于zTree的树形结构异步提取方法、终端设备及存储介质,在zTree的基础上对其进行优化,实现父节点的批量的提取和操作,能更大范围的体现zTree灵活多变的特性。
具体方案如下:
一种基于zTree的树形结构异步提取方法,包括以下步骤:
S1:采集构成树形结构各节点的数据,其中,除第1级节点之外的每个节点对应的数据均包含该节点对应的父节点的ID;设定级数i=1,I表示共I级节点;
S2:查询所有第i级节点对应的数据,并对其是否具有子节点的属性进行设置后,将所有第i级节点的数据封装到树实体列表中;
S3:将树节点列表转换为JSON格式后异步传输至前端页面,并将JSON格式的数据添加至zTreeObj中,前端页面通过zTree进行第i级节点的树形显示;
S4:判断i=1是否成立,如果是,进入S5;否则,设定第i-1级节点的updateNode属性为true,进入S5;
S5:判断i=I是否成立,如果是,设定zTree中禁用默认的子节点被选中的功能,结束;否则,进入S6;
S6:针对显示的每个第i级节点设置加载子节点操作;
所述加载子节点操作为:根据第i级节点的ID,获取以该ID为父节点ID的所有节点,并设定为第i+1级节点,令i=i+1,返回S2。
进一步的,每个节点的是否具有子节点的属性的设置方法为:如果该节点下面存在子节点,则将该节点的属性isParen设置为true;如果该节点下面不存在子节点,则将该节点的属性isParen设置为false。
进一步的,在zTree禁用默认的子节点被选中的功能后,针对显示的每个第i级节点还设置有节点选中操作,具体为:
构建已选节点数组,当每个节点被选中时,判断已选节点数组是否为空:
当已选节点数组为空时,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态;
当已选节点数组不为空时,判断该节点与已选节点数组中的节点是否属于同一级节点,如果是,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态,否则,清空已选节点数组,将该节点添加到已选节点数组中,并在前端页面上显示该节点的选中状态,同时取消其他节点的选中的状态。
进一步的,根据已选节点数组中的各节点,查询所有与其处于同一级的所有节点,将已选节点数组中的各节点与其同一级的所有节点进行图形结构化处理后,在前端页面进行显示。
进一步的,所述图形结构化处理为柱状图、饼状图或统计列表。
一种基于zTree的树形结构异步提取终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
本发明采用如上技术方案,在zTree的基础上对其进行优化,实现父节点的批量的提取和操作,能更大范围的体现zTree灵活多变的特性。
附图说明
图1所示为本发明实施例一的流程图。
图2所示为本发明实施例一的效果图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
本发明实施例提供了一种基于zTree的树形结构异步提取方法,如图1所示,所述方法包括以下步骤:
S1:采集构成树形结构各节点的数据并存入数据库,其中,除第1级节点(根节点)之外的每个节点对应的数据均包含该节点对应的父节点的ID。设定级数i=1,I表示共I级节点。
S2:在数据库中查询第i级节点对应的数据,并对其是否具有子节点的属性进行设置后,将所有第i级节点的数据封装到树实体列表List<Tree>中。
所述数据库的查询中使用SQL语言进行查询。
每个节点的是否具有子节点的属性的设置方法为:如果该节点下面存在子节点,则将该节点的属性isParen设置为true;如果该节点下面不存在子节点,则将该节点的属性isParen设置为false。
S3:将树节点列表转换为JSON格式后异步传输至前端页面,并将JSON格式的数据添加至zTreeObj中,前端页面通过zTree进行第i级节点的树形显示。
S4:判断i=1是否成立,如果是,进入S5;否则,设定第i-1级节点的updateNode属性为true,进入S5。
updateNode属性的设置是为了防止下一次进行加载子节点操作时会重复生成子节点。
S5:判断i=I是否成立,如果是,设定zTree中禁用默认的子节点被选中的功能,即将autoCheckTrigger设置为false,结束;否则,进入S6。
当所有节点都被显示后,需要在编写好zTree的setting配置中禁用默认的子节点被选中的功能。zTree的默认功能中存在选中父节点后会自动选择所有该父节点下的所有级别的子节点的操作。
S6:针对显示的每个第i级节点设置加载子节点操作;
所述加载子节点操作为:根据第i级节点的ID,获取以该ID为父节点ID的所有节点,并设定为第i+1级节点,令i=i+1,返回S2。
在上述步骤中,实现了每一级节点的逐级加载显示,可以只选中父节点而不会同时选中其关联的子节点。
为了实现批量提取父节点,该实施例中还包括:
在zTree禁用默认的子节点被选中的功能后,针对显示的每个第i级节点还设置有节点选中操作,该节点选中操作通过js的触发回调事件checkNodeName方法和节点属性ischecked来实现,具体为:
构建已选节点数组,当每个节点被选中时,判断已选节点数组是否为空:
(1)当已选节点数组为空时,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态;
(2)当已选节点数组不为空时,判断该节点与已选节点数组中的节点是否属于同一级节点,如果是,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态;否则,清空已选节点数组,将该节点添加到已选节点数组中,并在前端页面上显示该节点的选中状态,同时取消其他节点的选中的状态。
上述过程实现了同级节点的批量选中,效果图如图2所示,基于上述基础,进一步的,该实施例中还包括:
根据已选节点数组中的各节点,查询所有与其处于同一级的所有节点,将已选节点数组中的各节点与其同一级的所有节点进行图形结构化处理后,在前端页面进行显示。
所述图形结构化处理可以为柱状图、饼状图或统计列表等,在此不做限制。
上述过程可以实现树形结构和图形结构的可视化结合,可以更加清晰明了的展示出在同一级别条件下,所有数据间的对比,统计和分析。可以更加灵活的展示用户想要的数据,提高Ztree的易用性。
本发明实施例一基于Ztree的基础上,依jQuery对其进行了优化,实现了同级批量操作功能,能够更好的解决实际问题。解决了用户想要进行同层级操作的问题,现在的ztree操作中只存在对于子节点的大批量操作,选中父节点后会自动关联上子节点,不能只针对父节点进行操作,本实施例实现了提取批量父节点,并对选中的父节点进行一系列的操作。
实施例二:
本发明还提供一种基于zTree的树形结构异步提取终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述基于zTree的树形结构异步提取终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于zTree的树形结构异步提取终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述基于zTree的树形结构异步提取终端设备的组成结构仅仅是基于zTree的树形结构异步提取终端设备的示例,并不构成对基于zTree的树形结构异步提取终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于zTree的树形结构异步提取终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于zTree的树形结构异步提取终端设备的控制中心,利用各种接口和线路连接整个基于zTree的树形结构异步提取终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于zTree的树形结构异步提取终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述基于zTree的树形结构异步提取终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (7)
1.一种基于zTree的树形结构异步提取方法,其特征在于,包括以下步骤:
S1:采集构成树形结构各节点的数据,其中,除第1级节点之外的每个节点对应的数据均包含该节点对应的父节点的ID;设定级数i=1,I表示共I级节点;
S2:查询所有第i级节点对应的数据,并对其是否具有子节点的属性进行设置后,将所有第i级节点的数据封装到树实体列表中;
S3:将树节点列表转换为JSON格式后异步传输至前端页面,并将JSON格式的数据添加至zTreeObj中,前端页面通过zTree进行第i级节点的树形显示;
S4:判断i=1是否成立,如果是,进入S5;否则,设定第i-1级节点的updateNode属性为true,进入S5;
S5:判断i=I是否成立,如果是,设定zTree中禁用默认的子节点被选中的功能,结束;否则,进入S6;
S6:针对显示的每个第i级节点设置加载子节点操作;
所述加载子节点操作为:根据第i级节点的ID,获取以该ID为父节点ID的所有节点,并设定为第i+1级节点,令i=i+1,返回S2。
2.根据权利要求1所述的基于zTree的树形结构异步提取方法,其特征在于:每个节点的是否具有子节点的属性的设置方法为:如果该节点下面存在子节点,则将该节点的属性isParen设置为true;如果该节点下面不存在子节点,则将该节点的属性isParen设置为false。
3.根据权利要求1所述的基于zTree的树形结构异步提取方法,其特征在于:在zTree禁用默认的子节点被选中的功能后,针对显示的每个第i级节点还设置有节点选中操作,具体为:
构建已选节点数组,当每个节点被选中时,判断已选节点数组是否为空:
当已选节点数组为空时,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态;
当已选节点数组不为空时,判断该节点与已选节点数组中的节点是否属于同一级节点,如果是,将该节点添加至已选节点数组中,并在前端页面上显示该节点的选中状态,否则,清空已选节点数组,将该节点添加到已选节点数组中,并在前端页面上显示该节点的选中状态,同时取消其他节点的选中的状态。
4.根据权利要求3所述的基于zTree的树形结构异步提取方法,其特征在于:根据已选节点数组中的各节点,查询所有与其处于同一级的所有节点,将已选节点数组中的各节点与其同一级的所有节点进行图形结构化处理后,在前端页面进行显示。
5.根据权利要求4所述的基于zTree的树形结构异步提取方法,其特征在于:所述图形结构化处理为柱状图、饼状图或统计列表。
6.一种基于zTree的树形结构异步提取终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~5中任一所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~5中任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281867.8A CN111078763B (zh) | 2019-12-13 | 2019-12-13 | 基于zTree的树形结构异步提取方法、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911281867.8A CN111078763B (zh) | 2019-12-13 | 2019-12-13 | 基于zTree的树形结构异步提取方法、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078763A true CN111078763A (zh) | 2020-04-28 |
CN111078763B CN111078763B (zh) | 2022-11-11 |
Family
ID=70314307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911281867.8A Active CN111078763B (zh) | 2019-12-13 | 2019-12-13 | 基于zTree的树形结构异步提取方法、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078763B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035724A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种实现树管理不受层级限制的方法 |
CN112434030A (zh) * | 2020-11-11 | 2021-03-02 | 上海芯翌智能科技有限公司 | 基于树形结构数据的高性能列表实现方法与设备 |
CN112860692A (zh) * | 2021-01-29 | 2021-05-28 | 城云科技(中国)有限公司 | 一种数据库表结构转换方法、装置及其电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105407114A (zh) * | 2014-08-29 | 2016-03-16 | 北京信威通信技术股份有限公司 | 处理Zookeeper集群数据的客户端及方法 |
US20170206188A1 (en) * | 2008-01-02 | 2017-07-20 | International Business Machines Corporation | Manipulation of an ajax tree presentation |
CN107608664A (zh) * | 2017-09-22 | 2018-01-19 | 国云科技股份有限公司 | 一种使用zTree加载大量数据的方法 |
CN108255834A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种基于ListView的自定义树形结构数据分级显示的方法及系统 |
CN110297626A (zh) * | 2019-05-23 | 2019-10-01 | 唐山钢铁集团有限责任公司 | 基于sap系统的树形显示方法 |
-
2019
- 2019-12-13 CN CN201911281867.8A patent/CN111078763B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206188A1 (en) * | 2008-01-02 | 2017-07-20 | International Business Machines Corporation | Manipulation of an ajax tree presentation |
CN105407114A (zh) * | 2014-08-29 | 2016-03-16 | 北京信威通信技术股份有限公司 | 处理Zookeeper集群数据的客户端及方法 |
CN108255834A (zh) * | 2016-12-28 | 2018-07-06 | 航天信息股份有限公司 | 一种基于ListView的自定义树形结构数据分级显示的方法及系统 |
CN107608664A (zh) * | 2017-09-22 | 2018-01-19 | 国云科技股份有限公司 | 一种使用zTree加载大量数据的方法 |
CN110297626A (zh) * | 2019-05-23 | 2019-10-01 | 唐山钢铁集团有限责任公司 | 基于sap系统的树形显示方法 |
Non-Patent Citations (1)
Title |
---|
LITTLEBOYCK: "ztree选父不选子选子不选父", 《博客园》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035724A (zh) * | 2020-09-01 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种实现树管理不受层级限制的方法 |
CN112434030A (zh) * | 2020-11-11 | 2021-03-02 | 上海芯翌智能科技有限公司 | 基于树形结构数据的高性能列表实现方法与设备 |
CN112434030B (zh) * | 2020-11-11 | 2022-11-18 | 上海芯翌智能科技有限公司 | 基于树形结构数据的高性能列表实现方法与设备 |
CN112860692A (zh) * | 2021-01-29 | 2021-05-28 | 城云科技(中国)有限公司 | 一种数据库表结构转换方法、装置及其电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111078763B (zh) | 2022-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078763B (zh) | 基于zTree的树形结构异步提取方法、终端设备及存储介质 | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN109670101B (zh) | 爬虫调度方法、装置、电子设备及存储介质 | |
CN107908442B (zh) | 基于spring的资源加载方法、装置、终端设备及计算机可读存储介质 | |
CN111177541B (zh) | 基于用户标签生成时间的数据分析方法及装置 | |
CN112131220A (zh) | 数据报表处理方法及装置 | |
CN110888672B (zh) | 一种基于元数据架构的表达式引擎实现方法及系统 | |
CN115481227A (zh) | 人机交互对话方法、装置以及设备 | |
CN112506503B (zh) | 一种编程方法、装置、终端设备及存储介质 | |
CN108062401B (zh) | 应用推荐方法、装置及存储介质 | |
CN113377608A (zh) | 一种任务异常的告警方法、装置、终端设备及存储介质 | |
CN113111109A (zh) | 数据源的接口入库解析接入方法 | |
CN113407254A (zh) | 表单生成方法、装置、电子设备及存储介质 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN115237783A (zh) | 一种测试数据生成方法及装置 | |
CN115238652A (zh) | 表格数据的生成方法、装置、电子设备及可读存储介质 | |
CN114860221A (zh) | 一种工作流引擎及其实现方法 | |
CN114219091A (zh) | 网络模型推理加速的方法、装置、设备及存储介质 | |
CN113869882A (zh) | 一种数据处理方法、装置、介质 | |
CN113779026A (zh) | 业务数据表的处理方法和装置 | |
CN110990643A (zh) | 一种基于GoJS的复杂任务可视化方法、终端设备及存储介质 | |
CN117974009B (zh) | 任务拆分率的确定方法、装置、电子设备及存储介质 | |
CN109344166B (zh) | 数据库的监控方法、计算机可读存储介质和终端设备 | |
CN117806832B (zh) | 一种提升模型训练速度的方法、系统、设备及存储介质 | |
CN110442612B (zh) | 一种数据查询方法、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |