- 浏览: 1356699 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
Ext的树形是大家都非常熟悉也是非常喜爱的东西,笔者第一次使用Ext的原因就是因为Ext能够很简单的构建树形,同时Ext也有他的弊端,如果要使用Ext结合美工制作的页面来写系统是一件很麻烦的事情。
结合Ext的下拉选择控件来自定义一个树形控件这样也是一个非常实用而且很美工的控件,自己琢磨了一下,给代码贴出来和大家共享!
扩展后的自定义控件,使用非常简单,只要将xtype设置成treecombo即可自动生成,选择树中某条记录后会自动从传递一个id,运行后如下:
结合Ext的下拉选择控件来自定义一个树形控件这样也是一个非常实用而且很美工的控件,自己琢磨了一下,给代码贴出来和大家共享!
Ext.TreeComboField=Ext.extend(Ext.form.TriggerField,{ valueField:"id", displayField:"name", haveShow:false, editable:false, onTriggerClick : function(){ if(!this.tree.rendered) { this.treeId = Ext.id(); panel.id = this.treeId; this.getEl().dom.parentNode.appendChild(panel); this.tree.render(this.treeId); this.tree.setWidth(this.width); this.tree.getEl().alignTo(this.getEl(), "tl-bl"); } this.tree.show(); }, initComponent : function(){ Ext.TreeComboField.superclass.initComponent.call(this); }, onRender : function(ct, position){ Ext.TreeComboField.superclass.onRender.call(this, ct, position); this.tree.on("click",this.choice,this); if(this.hiddenName){ this.hiddenField = this.el.insertSibling({tag:'input', type:'hidden', name: this.hiddenName, id: (this.hiddenId||this.hiddenName)}, 'before', true); this.hiddenField.value = this.hiddenValue !== undefined ? this.hiddenValue :this.value !== undefined ? this.value : ''; this.el.dom.removeAttribute('name'); } if(!this.editable){ this.editable = true; this.setEditable(false); } }, getValue : function(){ return typeof this.value != 'undefined' ? this.value : ''; }, clearValue : function(){ if(this.hiddenField){ this.hiddenField.value = ''; } this.setRawValue(''); this.lastSelectionText = ''; this.applyEmptyText(); }, readPropertyValue:function(obj,p) { var v=null; for(var o in obj) { if(o==p)v=obj[o]; } return v; }, setValue : function(obj){ if(!obj){ this.clearValue(); return; } var v=obj; var text = v; var value=this.valueField||this.displayField; if(typeof v=="object" && this.readPropertyValue(obj,value)){ text=obj[this.displayField||this.valueField]; v=obj[value]; } var node = this.tree.getNodeById(v); if(node){ text = node.text; }else if(this.valueNotFoundText !== undefined){ text = this.valueNotFoundText; } this.lastSelectionText = text; if(this.hiddenField){ this.hiddenField.value = v; } Ext.TreeComboField.superclass.setValue.call(this, text); this.value = v; }, setEditable : function(value){ if(value == this.editable){ return; } this.editable = value; if(!value){ this.el.dom.setAttribute('readOnly', true); this.el.on('mousedown', this.onTriggerClick, this); this.el.addClass('x-combo-noedit'); }else{ this.el.dom.setAttribute('readOnly', false); this.el.un('mousedown', this.onTriggerClick, this); this.el.removeClass('x-combo-noedit'); } }, choice:function(node,eventObject) { if(node.id!="root") this.setValue(node.id); else this.clearValue(); this.tree.hide(); }, onDestroy : function(){ if(this.tree.rendered){ this.tree.getEl().remove(); } Ext.TreeComboField.superclass.onDestroy.call(this); } }); Ext.reg('treecombo', Ext.TreeComboField);
扩展后的自定义控件,使用非常简单,只要将xtype设置成treecombo即可自动生成,选择树中某条记录后会自动从传递一个id,运行后如下:
发表评论
-
JSON转换net.sf.json.JSONException: There is a cycle
2009-04-10 08:07 3133at net.sf.json.util.CycleD ... -
ext grid 数据库分页实现
2009-04-08 15:03 2493看了robbin 关于hibernate 分页的老帖(http ... -
AJAX 入门视频之 Ext 2.0.1 Grid 增删改 & DWR 1 实例
2008-09-14 18:06 1357http://dojochina.com/index.php? ... -
mask
2008-07-03 00:05 1641Ext.Msg.alert( String title, St ... -
EXTJS动态树的实现
2008-07-03 00:03 3056http://yahaitt.iteye.com/blog/2 ... -
透析Extjs源码之结合API写事件响应函数
2008-07-03 00:02 1840我在一个论坛看到EXT传 ... -
透析Extjs源码之layout(二)FormPanel与FormLayout的关系
2008-07-03 00:00 2183理解了layout之后,再看看FormPanel源码,发现它指 ... -
透析Extjs源码之layout(一)layout的实现
2008-07-03 00:00 31491、配置选项layout什么时候可用? 只有Ext.Conta ... -
透析Extjs的Ext.js源码(五)分析继承的实现
2008-07-02 23:59 1923ext中有关继承的实现的关键代码如下:(Ext.js中) ex ... -
透析Extjs的Ext.js源码(四)去理解Ext.js
2008-07-02 23:59 1272//先定义匿名方法,第一个括号对里的,必须要有这个括号对,之后 ... -
透析Extjs的Ext.js源码(三)扩展
2008-07-02 23:58 1236if(!Person.extend){//若extend属性还 ... -
透析Extjs的Ext.js源码(二)能在定义时就能执行的方法的写法 function(){...}
2008-07-02 23:57 1612/** * 第二部分:能在 ... -
透析Extjs的Ext.js源码(一)对象属性的添加和设置
2008-07-02 23:55 2340/** * 分析Ext.js */ ... -
ExtJs关于Ext.extend()的说明
2008-07-02 23:54 26730Ext.extend方法是用来实现 ... -
用了ExtJs后,IE打开页面是空白的问题解决
2008-07-02 23:53 2843用了ExtJs后,IE打开页面是空白的问题解决: 好不容易搞 ... -
ExtJs中解决IE的min-width问题
2008-07-02 23:51 2198当使用了ExtJs后,脚本documentElement.cl ...
相关推荐
EXT是一个强大的JavaScript框架,它提供了丰富的组件库,包括下拉树(TreePicker)这样的控件。这篇博客文章可能是介绍如何在EXT中实现一个下拉树的功能,并提供了一个名为`TreePicker.js`的代码示例。 EXT框架由...
【Ext 3.x + Ext 2.x 下拉树 Ext.ux.ComboBoxTree】是基于ExtJS框架的一个组件,它结合了下拉框(ComboBox)和树形控件(TreePanel)的功能,提供了一种用户友好的选择界面。在网页应用中,这种控件常用于展示层级...
在这个特定的情况下,我们讨论的是一个定制的下拉树菜单控件——ComboBoxTree,它在ExtJS4中实现了单选和多选功能,并且具备展开选中指定节点的能力。这个控件在实际项目中已经被广泛使用并证明了其稳定性和实用性,...
它提供了丰富的组件库,其中包括下拉列表树控件(ComboBox Tree),这种控件结合了下拉列表和树形结构,使得用户能够在一个下拉菜单中浏览和选择层次化的数据。本文将深入探讨如何在ExtJS中实现下拉列表树控件,并...
下拉列表树控件结合了下拉框和树结构的特点,用户可以方便地在下拉菜单中展开和选择树形结构的数据。 在ExtJS中,下拉列表树控件通常由两个主要部分组成:`ComboBox` 和 `TreePanel`。`ComboBox` 是基础的下拉框...
Ext TreeCombo是一种UI组件,它将传统的下拉框与树形控件(Tree)结合起来,提供了一种交互式的、具有层级结构的下拉选择。用户在输入框中输入文字,可以筛选出符合输入的树节点,同时,点击下拉按钮会展示整个树形...
这是一个结合了树形结构和下拉框功能的控件,允许用户从一个层次化的数据结构中选择一个或多个项。在ExtJS中,TreePanel用于展示树形数据,而ComboBox则是一个下拉列表选择框。TreeCombo将这两者融合,提供了一种更...
7. **扩展控件**:可能需要创建一个新的组件类,继承自`Ext.form.field.ComboBox`,并覆盖或扩展其默认行为,以实现下拉树的功能。 8. **配置项**:例如,`displayField`定义显示字段,`valueField`定义值字段,`...
自定义下拉树控件的关键在于重写createPicker方法。在createPicker方法中,我们创建了一个树形面板(Ext.tree.Panel)作为下拉展示的载体。这个树形面板可以配置各种属性,如store(数据存储),根节点是否可见...
它提供了一套完整的组件模型,其中包括各种UI控件,如按钮、表格、树形视图以及我们这里关注的“ComboBox”(组合框)。`Ext ComboBox`是实现下拉列表功能的基础组件,而“Ext combobox 下拉多选框带搜索功能”则是...
TreeNode是树形结构中的基本元素,Leaf属性指示节点是否为叶子节点,即没有子节点。如果是叶子节点,即使存在子节点也不会显示。 Store控件是数据存储的关键,用于管理网格或其他组件的数据源。分页功能可以通过...
它提供了丰富的组件库,包括表格、表单、树形视图、图表等,其中日期和时间选择器是表单元素中的重要组成部分。在描述中提到的“带时间选择的日期控件”,通常指的是`Ext.picker.Date`控件的扩展,这个控件不仅允许...
文件"ComboBoxTree"可能是实现这一组件的源代码或者配置文件,包含了实现下拉树组件的JavaScript代码和相关的配置信息。如果需要深入了解或修改这个组件,你需要查看这个文件的内容,理解其中的数据结构、事件处理和...
TreeNode控件用于构建树形结构的数据展示,`Leaf`属性的设置至关重要: - **Leaf**: 设为`true`时,即便存在子节点,也不会显示为可展开的节点,简化视图,减少不必要的层级感。 #### Store控件分页功能介绍 ...
其中,下拉树列表是一种非常实用且常见的控件类型,它结合了下拉列表的便捷性和树形结构的强大组织能力。本文将详细介绍一个基于Extjs框架的“多功能下拉树列表”组件的功能特点及其使用方法。 #### 二、核心功能...
EXTJS是一个用JavaScript编写的富客户端应用开发框架,它提供了一系列的可重用UI组件,如表格、树形控件、组合框等。ComboboxTree是这个框架中的一种特殊组件,结合了ComboBox(下拉列表)和TreePanel(树形结构)的...
1. **EXT JS组件**:EXT JS提供了一系列组件,如按钮(Button)、面板(Panel)、表格(Grid)、树形视图(Tree)、窗口(Window)等。这些组件具有丰富的可定制性和可扩展性,可以满足不同类型的界面需求。 2. **...
9.1. 下拉树形选择框TreeField 9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页...