`
zhangdaiping
  • 浏览: 128482 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EditTreeGrid行编辑树列表组件(更新1.5版)

阅读更多
最近有时间我又开发了一版新的EditTreeGrid,之前做过一版TreeGridEditor,不是很理想,最近一直在学习Ext,对Ext又有了新的认识,所以重新做一版,也算是自己这段时间的一个总结。



基于Ext 3.2.1的TreeGrid。

这个版本最大的改进就是使用了和Grid一样的RowEditor组件;由于使用了RowEditor,所以只能支持单行编辑。另外,TreeRowEditor和Grid RowEditor有点不同,当进入RowEditor状态后,其他所有按钮功能不可使用,你点击会无效。

代码体积减小了很多,将官方的TreeGird打包到一起,才30K的大小。

其次功能按钮的加载和扩展也有了很大的改进,可以随意定制,如下:

columns: [{
    header: 'Task',
    dataIndex: 'task',
    width: 230,
    editor: new Ext.form.TextField({
        allowBlank: false
    })
}, {
    // ...省略代码...
}, {
    header: '排序',
    width: 80,
    buttons: ['upgrade', 'degrade'],
    buttonIconCls: ['x-treegrid-button-upgrade', 'x-treegrid-button-degrade'],
    buttonTips: ['上移', '下移']
}, {
    header: '新增子分类',
    width: 80,
    buttons: 'add',
    buttonIconCls: 'x-treegrid-button-add',
    buttonTips: '新增'
}, {
    header: '操作',
    width: 130,
    buttons: ['update', 'remove'],
    buttonText: ['编辑', '删除']
}],
分享到:
评论
37 楼 962464i 2015-05-08  
麻烦问一下:edittreegrid-pkg.js这个文件是做什么的?我没有添加这个文件,貌似所有功能都可以实现呢
36 楼 blueskyxiao 2014-06-17  
楼主。问下咱们这个能实现和grid一样的双击编辑功能吗?双击只有被双击的cell可编辑。
另,如何能做到统一提交啊?求指教
35 楼 namelessmyth 2014-04-17  
新版本 怎么使用 localData呀...求楼主发案例呀...
34 楼 wokao_wg 2013-07-23  
zhangdaiping 写道
2011-6-9 更新1.5版

修正新增节点,异步加载父节点导致的BUG
增加删除树节点时,提示删除功能

楼主有个问题请看下代码:
 Ext.getCmp('tab_manage').add({
     	id: 'testPan',
	xtype: 'panel',
	closable : false,
	//autoLoad: {url:'testAction!editTree.action', scripts: true, params: {ids: '1'}},
	items:[EditTreeGrid], 用这个可以
	title: '测试'
     });
   Ext.getCmp('tab_manage').setActiveTab('testPan');

action跳转的页面:
<html>
<script type="text/javascript" src="edittreegrid.js"></script>
<body></body>
</html>

如上代码,直接添加到items里可以,但是用autoLoad加载url再跳转到目标页面,edittreeGrid不能显示出来,js错误为:TypeError: a is undefined,这应该算是个bug吧,求楼主验证
33 楼 stephansun 2012-06-29  
这个版本不能支持多选框了吗?前几个版本有的,但是下载链接好像没有了。
32 楼 zhongchao444 2012-02-09  
你好 我运行里面的示例,怎么提示拒绝访问
31 楼 Inspiration 2012-02-02  
你好,请问我想把编辑好的树结构以一种XML或JSON的方式保存起来,请问怎么弄?
30 楼 xuthus_qbxx 2011-11-25  
你好!
我这近希望开发一个类似treegrid的计划管理小程序,以便管理我的员工,但我本身自己做程序不多,所以我希望把这个小程序委外给你做,不知道感兴趣吗

我的邮箱:keybeninfo@163.com   qq:313134870
29 楼 friday007001 2011-10-30  
楼主1.5的还支持复选框吗?怎么使用呀?
28 楼 君已陌璐 2011-09-15  
请问下楼主,为什么你给的例子中修改的数据无法回写到json文件中?
27 楼 xu5420878 2011-07-23  
楼主,你的资料很好,现在我想研究下你的代码学习下,因为那增加节点save后如何保存到josn中的,我这块想弄下,但是那个edittreegrid-pkg.js文件打开后都只成一行了,所以没看明白。我该怎么做才能让数据保存到json中呢?
26 楼 zhangdaiping 2011-06-09  
qwml6179 写道
楼主会出 基于 ExtJs 4 的组件么

工作中用4的机会不多,应该不会出4的组件

其实自己对是很有兴趣,也看过很多4的例子

4的数据模型最吸引我
25 楼 zhangdaiping 2011-06-09  
lengxufeng 写道
楼主您好,正在使用你的组件,感谢。有个BUG,不知是否准确:

当第一次加载数据时,根节点还没展开时,点击根节点的新增子分类,会展开节点,并自动增加一条空叶子,而不是显示编辑框。

求证,谢谢。

其实这个问题早发现了,就是没有更新。刚发了1.5版已经修复了这个BUG
24 楼 zhangdaiping 2011-06-09  
2011-6-9 更新1.5版

修正新增节点,异步加载父节点导致的BUG
增加删除树节点时,提示删除功能
23 楼 lengxufeng 2011-06-02  
楼主您好,正在使用你的组件,感谢。有个BUG,不知是否准确:

当第一次加载数据时,根节点还没展开时,点击根节点的新增子分类,会展开节点,并自动增加一条空叶子,而不是显示编辑框。

求证,谢谢。
22 楼 qwml6179 2011-05-19  
楼主会出 基于 ExtJs 4 的组件么
21 楼 zhangdaiping 2011-04-22  
2011/4/22更新1.4版

  • 修正一些兼容性问题
20 楼 clue 2011-04-20  
zhangdaiping 写道


知道了,数据可以加载出来,再根据滚动条渲染数据。。。这个其实是可以做到的 

理论上如此。。。 目前仍未见到。。。
可能接触面不广吧,没准已经有人实现过了。
19 楼 zhangdaiping 2011-04-20  
clue 写道
zhangdaiping 写道

这是树,和grid的数据结构不一样,Tree本身就有延迟加载的机制

你还没理解我的意思,Ext的树是可以分层加载渲染,但单层的节点是只要展开就全部渲染。如果单层节点超过1000,性能就会低到难以忍受的程度。

Grid配置BufferView后,虽然加载还是那么多数据,但实际渲染出html的只有可见的那块,并根据滚动条位置动态更新,所以性能很高。


知道了,数据可以加载出来,再根据滚动条渲染数据。。。这个其实是可以做到的 
18 楼 zhangdaiping 2011-04-20  
bond88 写道
zhangdaiping 写道
bond88 写道
请教博主一个关于隐藏列的问题,如果树视图里有个隐藏列存在,显示的时候水平网格线会出现中断,光条也会中断,而且列头的隐藏列占的宽度不能消失,看起来显得很不舒服。不知道这是什么问题?


还没用过隐藏列,所以没测试过。。。

楼主有空测试下吧,我是没搞定,出现那种显示很烦。但我又怀疑会不会是我的问题,毕竟不应该有这么明显的问题却没人反应啊?(我使用系统的grid也有这样问题,列头不能完全隐藏,他的列头隐藏好像就是靠display:none或者visibility:hidden实现的).
另外再请教下,如果不用隐藏列,想要处理返回的某列不想显示的数据,有更好的方式吗?


Store里面有值,不一定要用Column显示到页面上啊

TreeGrid也一样,attributes里有值,不一定要显示成Column

相关推荐

    edittreegrid-1.5

    实现了上下移动节点,添加节点、删除节点,行编辑等功能。

    editTreeGrid ext可编辑的treegridpanel

    ext可编辑的treegridpanel

    ext的edittreegrid实现

    Tree与EditorGrid结合在一起,树形的展示结构,可以对其中的数据进行编辑,类似RowEditor.

    node-v4.8.6-win-x64.zip

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基础运维技能(下)md格式笔记

    基础运维技能(下)md格式笔记

    node-v8.1.2-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    黑马程序员 C语言学习笔记

    持续更新

    PCL-1.14.1-AllInOne-msvc2022-win64+pdb-msvc2022-win64

    PCL-1.14.1-AllInOne-msvc2022-win64+pdb-msvc2022-win64

    DSmall商城系统源代码

    PC商城系统源码

    Defender Control v2.1(win11 禁用defender服务工具).zip

    Defender Control v2.1(win11 禁用defender服务工具).zip

    node-v8.8.0-linux-armv6l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v8.9.0-linux-ppc64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v4.7.2-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    2024年中国超声非侵入式腐蚀检测传感器行业研究报告.docx

    2024年中国超声非侵入式腐蚀检测传感器行业研究报告

    基于知识图谱的问答系统,结合MetaQA知识图谱,用于解决电影领域的问答问题

    【作品名称】:基于知识图谱的问答系统,结合MetaQA知识图谱,用于解决电影领域的问答问题 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 ## 项目目录结构: 1、train_KGE目录下为训练知识图谱嵌入模型的相关代码,包含以下知识图谱嵌入方法: - RotatE - TransE - DistMult - ComplEx 2、KGQA_system目录下包含了问答系统的实现代码,包含以下几个模块: - 知识图谱嵌入模块 - 问题嵌入模块 - 关系预测模块 - 答案生成模块

    node-v8.8.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ISO 3452-3-2013 无损检测渗透检测第3部分:参考试块.pdf

    ISO 3452-3-2013 无损检测渗透检测第3部分:参考试块.pdf

    node-v8.1.1-linux-armv6l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    用于目标检测的遥感图像数据集

    目标检测遥感数据集。包括训练集、验证集和测试集共1400张遥感图像及相应标注。已处理为适用yolov5的格式。

Global site tag (gtag.js) - Google Analytics