`
captain
  • 浏览: 136947 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

关于树型结构返回值,大家都是怎么组织的呢

阅读更多
直入正题,目前公司树形组件基于jquery的simple tree(http://news.kg/wp-content/uploads/tree/)扩展而成,基于后端的xml格式
		<menuitem id="11" class="menumain" text="samples" action="samples/gettingstart/forward.do">	
			<!-- qucik start-->
			<menuitem menuid="gettingstart"  text="sample.getting.start" action="samples/gettingstart/forward.do" contextmenu="true">
			
					<menuitem menuid="forward" text="sample.getting.start.forward" action="samples/gettingstart/forward.do" contextmenu="true">
					</menuitem>
					<menuitem menuid="helloworld" text="sample.getting.start.helloworld" action="samples/gettingstart/hello.do" contextmenu="true">
					</menuitem>
					<menuitem menuid="simpleCRUD" text="sample.getting.start.simpleCRUD" action="samples/gettingstart/message.do" contextmenu="true">
					</menuitem>
			</menuitem>
		
			<!-- advanced app -->
			<menuitem menuid="advancedused" text="sample.advanced.used" action="samples/subject/message.do?method=doList">
					<menuitem menuid="dispatchCRUD" text="sample.advanced.used.dispatchCRUD" action="samples/subject/message.do?method=doList">
					</menuitem>
					<menuitem menuid="editable" text="sample.advanced.used.editable" action="samples/subject/editable.do">
					</menuitem>

			</menuitem>
		</menuitem>

生成到前端后,对树进行一系列操作(拖拽、增加、删除、修改等),然后通过一个保存按钮将当前的树形结构同步回后端(可能基于xml,也可能存回数据库),问题出在如何返回修改后的树,目前想到两种方案,一种是记录每一步操作,封装成一个array往后台传,例如第一步先删除节点a,第二步将节点b移动到节点c下,等等,缺点是如果我进行了过多操作,这数据量会不会太大?第二种方案比较笨,也是目前想采用的方法,就是得到当前simpletree对象的引用,用js取得其html(一堆嵌套的<ul><li>组合),然后通过正则表达式将其替换成原来的xml格式后返回,不知道大家对于这样的业务场景一般怎么处理的?
  • 大小: 9.1 KB
分享到:
评论
5 楼 w7180121 2008-12-27  
你的例子能不能传上来?
4 楼 captain 2008-12-26  
用json数据保存操作,遇到如何解决垃圾操作问题(比如我给某节点添加一叶子,然后删了,再添加,再删,如此反复,到最后其实我啥也没干,但是操作数却急剧上升)。
   暂时考虑的是先记录,然后按照一定的清理规则重新洗一遍json中的“脏操作”,比如对同一id的增加和删除相当于没做任何操作,连续修改同一节点n次取最后一次值等等。
   还望je高人能提出更好的办法。
3 楼 captain 2008-12-26  
srdrm 写道
我用的是 treeview 插件

http://bassistance.de/jquery-plugins/jquery-plugin-treeview/

恩,用哪个plugin来组织数据其实大同小异,关键是遇到实际业务需求时,怎样对所用的进行二次定制,目前我们对tree节点批量操作还是采用返回json的方式,定义del,add,mov,dnd四种操作类型。
2 楼 hxr010 2008-12-26  
刚开始学习jQuery,不大懂什么意思
1 楼 srdrm 2008-12-25  
我用的是 treeview 插件

http://bassistance.de/jquery-plugins/jquery-plugin-treeview/

相关推荐

    易语言打造资源管理器源码 树型框+超级列表框例程

    本资源是一个使用易语言编写的资源管理器源码,其中包含了树型框和超级列表框的实现,这些都是在Windows应用开发中常见的界面元素。 树型框(Tree View)是Windows应用程序中常用于展示层次结构数据的控件,例如...

    易语言设置树型框连线颜色

    树型框是常见的一种控件,它通常用于显示层次结构的数据,比如文件系统或者组织结构。在树型框中,各个节点之间通过连线表示它们的父子关系。而本主题讨论的是如何改变这些连线的颜色,以达到个性化或高亮显示的目的...

    易语言使用API改变树型框背景颜色

    树型框是用户界面中常见的一种控件,它通常用于展示层次结构的数据。在易语言中,我们可以通过API函数来修改其默认属性,包括背景颜色。API函数通常是用C语言编写的,它们在操作系统层面提供服务,因此可以访问到...

    《数据结构与算法(C语言版)》课后习题答案.pdf

    集合是无序的,线性结构如数组和链表是线性的,树型结构如二叉树和多叉树,图形结构则包含节点和边的关系。 - **存储方式**:主要有顺序存储和链式存储。顺序存储如数组,数据按照特定顺序在内存中连续存放;链式...

    jQuery树型标签选择插件 tagTree

    该控件是基于jquery库开发的,所以使用前,必需引入这些库。... 该控件是一个树型选择器,支持多选单选,并返回值。 也可以到我的github下载支持下,谢谢! https://github.com/miracleren/tagTree

    数据结构与算法分析实验报告.doc

    输出可以以静态链表的形式展示,或者将树型结构旋转90度来显示。 2. 需求分析: - 输入数据:输入的数据是int类型的整数,其值域为-到47。 - 输出格式:输出的数据应以%d的格式呈现。 - 测试数据:实验者使用的...

    数据结构中数与二叉树的相关知识汇总

    树型结构与线性结构的比较: - 线性结构如数组或链表,每个元素有一个前驱和一个后继,而树结构中除了根节点外,其他节点通常有多个后继(子节点)。 - 树结构允许更复杂的数据关系,而线性结构更适合简单的线性序列...

    软件技术基础:离散数学、数据结构、C.编程实训 .来可伟

    - 树型结构:如二叉树、堆、B树、平衡树等。 - 图结构:包括无向图、有向图、加权图等。 - 集合结构:集合的表示、操作,以及在特定情况下集合结构的应用。 - 查找算法:顺序查找、二分查找等。 - 排序算法:冒泡...

    C语言数据结构(严蔚敏)

    3. **树型结构** - **二叉树**:每个节点最多有两个子节点的树,分为左子树和右子树。 - **二叉搜索树(BST)**:满足任何节点的值都大于其左子树中任意节点的值,小于其右子树中任意节点的值的二叉树。 - **...

    通用填充树型框模块-易语言

    树型框(Tree View)是一种图形用户界面元素,它可以展示层次化的数据结构,就像一棵倒置的树,其中每个节点可以有多个子节点。在易语言中,创建这样的控件需要一定的技巧和理解。通用填充树型框模块则提供了一种...

    易语言树型框API加入项目模块源码-易语言

    在易语言中,“树型框”是一种常用的控件,用于显示层次结构的数据,常用于文件系统、目录结构或组织结构的展示。API(Application Programming Interface)则是操作系统或库提供的函数调用接口,程序员通过调用这些...

    使用API改变树型框背景颜色-易语言

    树型框是一种常见的图形用户界面控件,通常用于显示层次结构的数据。 首先,我们需要了解易语言中的API调用语法。在易语言中,API调用通常使用“调用”命令,并且需要指定API函数的名称、参数类型和参数值。例如,...

    易语言-sqlite数据库基本操作+无限级别树型框

    在"易语言-sqlite数据库基本操作+无限级别树型框"这个主题中,我们将探讨如何使用易语言进行SQLite数据库的基本操作,并构建一个可以显示无限级别树形结构的界面组件。 SQLite是一个轻量级的、自包含的、无服务器的...

    考研辅导之C语言

    特别是对于武汉科技大学计算机专业的考生,由于考试可能涉及到数据结构的相关内容,如链表、树型结构等,因此在准备C语言的同时,复习数据结构也是必不可少的。通过深入理解和实践,考生可以更好地应对考研中的C语言...

    c++实现linux下ls命令

    Linux文件系统是一个树型结构,以/为根目录,包括普通文件、目录文件、链接文件、设备文件、管道文件等几种类型。目录文件的内容是一个列表,包括它所包含的所有文件和子目录的名称。 为了实现ls命令,需要使用到...

    使用LabVIEW打开Windows系统的树形文件夹选择目录

    4. DLL调用:在LabVIEW中,调用`SHBrowseForFolder`需要创建一个DLL引用VI,设置正确的输入参数(如对话框的标题,初始文件夹位置等)和处理返回值。`BrowseForFolderG.vi`和`Dialog Browse For Folder.vi`这两个VI...

    互联网数据库试题

    19. 层次模型:层次模型是一种早期的数据模型,用树型结构表示实体类型及实体间联系。 20. 并发控制技术:在多用户环境中,为了防止数据的不一致性,通常采用封锁机制来实现并发控制。 21. 物理结构设计:物理结构...

    北航软院991数据结构与c语言2013年考研大纲

    - **树型结构**:了解B-树和B+树的基本概念,掌握B-树的插入与查找操作。 ##### 内排序 - **排序的基本概念**:理解排序算法的基本思想、分类、稳定性和效率。 - **排序算法**:掌握插入排序、选择排序、冒泡排序、...

    2021-2022计算机二级等级考试试题及答案No.18771.docx

    根据给定文件的信息,我们可以总结出一系列关于计算机二级等级考试的知识点,主要涉及数据库、编程基础、网络基础知识、操作系统管理等方面。下面是详细解释: ### 1. 数据库基础 **题目1**: 打开Access数据库时,...

    CTree类使用的一个小范例

    这通常通过HTREEITEM类型的返回值的InsertItem函数完成,该函数接受多种参数,包括父节点、文本、图像索引等。例如,我们可以在OnInitDialog之后添加一些初始的树节点: ```cpp // 创建根节点 HTREEITEM hRoot = m_...

Global site tag (gtag.js) - Google Analytics