如果在Java代码中树的Node不设置cls的话,Extjs Tree默认的图标是Folder类型的,可以通过CSS来更改图标。位置在ext\resources\css\ext-all.css.
在css文件中找到
.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/default/tree/folder.gif);}
.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/default/tree/folder-open.gif);}
.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/default/tree/leaf.gif);}
分别是展开前、展开后以及最没有子节点时的图标,我们可以更改成自己想要的图标
treePanel.on('click',function(n){
n.getUI().getIconEl().src = '../../images/icons/checked.png';
});
首先,写一个js文件,扩展Ext.form.comboBox,
Ext.namespace('Ext.ux');
Ext.ux.IconCombo = function(config) {
Ext.ux.IconCombo.superclass.constructor.call(this, config);
this.tpl = config.tpl ||
'<tpl for="."><div class="x-combo-list-item x-icon-combo-item {'
+ this.iconClsField
+ '}">{'
+ this.displayField
+ '}</div></tpl>'
;
this.on({
render:{scope:this, fn:function() {
var wrap = this.el.up('div.x-form-field-wrap');
this.wrap.applyStyles({position:'relative'});
this.el.addClass('x-icon-combo-input');
this.flag = Ext.DomHelper.append(wrap, {
tag: 'div', style:'position:absolute'
});
}}
});
}
Ext.extend(Ext.ux.IconCombo, Ext.form.ComboBox, {
setIconCls: function() {
var rec = this.store.query(this.valueField, this.getValue()).itemAt(0);
if(rec) {
this.flag.className = 'x-icon-combo-icon ' + rec.get(this.iconClsField);
}
},
setValue: function(value) {
Ext.ux.IconCombo.superclass.setValue.call(this, value);
this.setIconCls();
}
});
必须有此样式对应:
.x-icon-combo-icon {
background-repeat: no-repeat;
background-position: 0 50%;
width: 18px;
height: 14px;}
把该js 包含到jsp页面上,现在是调用扩展的图标下拉框了:
var icnCombo = new Ext.ux.IconCombo({
store: new Ext.data.SimpleStore({
fields: ['iconCode', 'iconName', 'iconCSS'],
data: [
['', '默认样式', ''],
['add', '样式1', 'add'],
['edit', '样式2', 'edit'],
['details', '样式3', 'details']
]
}),
valueField: 'iconCode',
displayField: 'iconName',
iconClsField: 'iconCSS',
triggerAction: 'all',
fieldLabel : '图标样式',
hiddenName : "menu.iconCls",
name : "menu.iconCls",
editable:false,
mode: 'local',
id: 'iconCombo',
width: 160
});
在css文件中找到
.x-tree-node-collapsed .x-tree-node-icon{background-image:url(../images/default/tree/folder.gif);}
.x-tree-node-expanded .x-tree-node-icon{background-image:url(../images/default/tree/folder-open.gif);}
.x-tree-node-leaf .x-tree-node-icon{background-image:url(../images/default/tree/leaf.gif);}
分别是展开前、展开后以及最没有子节点时的图标,我们可以更改成自己想要的图标
treePanel.on('click',function(n){
n.getUI().getIconEl().src = '../../images/icons/checked.png';
});
首先,写一个js文件,扩展Ext.form.comboBox,
Ext.namespace('Ext.ux');
Ext.ux.IconCombo = function(config) {
Ext.ux.IconCombo.superclass.constructor.call(this, config);
this.tpl = config.tpl ||
'<tpl for="."><div class="x-combo-list-item x-icon-combo-item {'
+ this.iconClsField
+ '}">{'
+ this.displayField
+ '}</div></tpl>'
;
this.on({
render:{scope:this, fn:function() {
var wrap = this.el.up('div.x-form-field-wrap');
this.wrap.applyStyles({position:'relative'});
this.el.addClass('x-icon-combo-input');
this.flag = Ext.DomHelper.append(wrap, {
tag: 'div', style:'position:absolute'
});
}}
});
}
Ext.extend(Ext.ux.IconCombo, Ext.form.ComboBox, {
setIconCls: function() {
var rec = this.store.query(this.valueField, this.getValue()).itemAt(0);
if(rec) {
this.flag.className = 'x-icon-combo-icon ' + rec.get(this.iconClsField);
}
},
setValue: function(value) {
Ext.ux.IconCombo.superclass.setValue.call(this, value);
this.setIconCls();
}
});
必须有此样式对应:
.x-icon-combo-icon {
background-repeat: no-repeat;
background-position: 0 50%;
width: 18px;
height: 14px;}
把该js 包含到jsp页面上,现在是调用扩展的图标下拉框了:
var icnCombo = new Ext.ux.IconCombo({
store: new Ext.data.SimpleStore({
fields: ['iconCode', 'iconName', 'iconCSS'],
data: [
['', '默认样式', ''],
['add', '样式1', 'add'],
['edit', '样式2', 'edit'],
['details', '样式3', 'details']
]
}),
valueField: 'iconCode',
displayField: 'iconName',
iconClsField: 'iconCSS',
triggerAction: 'all',
fieldLabel : '图标样式',
hiddenName : "menu.iconCls",
name : "menu.iconCls",
editable:false,
mode: 'local',
id: 'iconCombo',
width: 160
});
发表评论
-
一个故事讲清楚NIO(转载)
2015-10-22 11:32 658假设某银行只有10个职 ... -
js一些菜单例子
2012-12-03 15:21 833JS树 录结构菜单 演示地址: http://vip.5d. ... -
Servlet.service() for servlet jsp threw exception,NullPointerException
2012-10-09 17:07 11632011-7-28 2:09:33 org.apache.ca ... -
如何远程连接db2数据库
2012-09-18 10:10 960在DB2数据库中,编目(catal ... -
[转]DB2行列转换
2012-09-13 13:15 873行转列 给出下面的数据: CREATE TABLE Sales ... -
存储过程 入门
2012-09-07 09:49 898示例说明:先创建一个临时表,并插入数据,然后查询临时表,返回游 ... -
ue使用的一些小技巧
2012-09-05 11:36 12621. UE里面替换tab键为空格 解决使用UE编辑好 ... -
Ext.data.Store使用示例
2012-04-16 20:34 1294Ext.data.Store是EXT中用来 ... -
js六种数据类型和var
2012-04-13 14:32 1253JavaScript 有六种数据类 ... -
ExtJs 控制复选框disabled
2012-04-13 14:12 2930var csm2 = new Ext.grid.Checkbo ... -
JS 四舍五入
2012-04-10 23:36 959写法巨强的四舍五入的转换函数,如下: function ro ... -
Ext el属性
2012-04-10 23:08 883这个是你要将你的组件渲染到哪个div 比如有个<div ... -
getOutputStream() has already been called for this response
2012-04-06 17:33 983getOutputStream() has al ... -
修改TOMCAT(5.5版本前)内存的方法
2012-03-30 11:34 1106Tomcat默认可以使用的内 ... -
oracle 常用sql
2012-03-27 10:49 854--创建用户 CREATE USER &q ... -
两台windows服务器----SVN的迁移
2012-03-26 17:27 1157两台服务器,进行SVN的迁移: 系统平台:windows se ... -
hibernate 延迟加载
2012-03-23 18:06 784延迟加载机制是为了避 ... -
分享一个ldap验证链接的方法
2012-03-22 12:07 1144public String auth(String userN ... -
poi 操作excel
2012-03-19 21:52 1173本篇面向对象为Java的初 ... -
Oracle Minus关键字
2012-03-06 15:56 1149//--一句话 去同存异,留第一个sql里面的结果。 //创建 ...
相关推荐
3. **TreeNode对象**:在`Ext JS`中,每个树节点都是一个`TreeNode`对象,它包含了节点的所有属性,如文本、图标、子节点等。对于复选框树,`TreeNode`还包含了复选框的状态信息。 4. **事件监听**:`TreePanel`...
"Ext checktree"是基于Ext JS库的一个组件,专门用于创建可勾选的树形控件。在Web应用中,这种控件常用于展现层级结构的数据,并允许用户进行多级选择。下面我们将深入探讨Ext checktree的相关知识点。 首先,我们...
Ext树还支持许多高级特性,比如拖放操作、节点的展开/折叠、节点的图标和提示、监听节点事件等。通过熟练掌握这些特性,你可以构建出功能强大的树形用户界面,满足各种业务需求。 总结来说,`Ext树例子`是关于如何...
3.7.3. 默认图标好单调,改一下撒 3.7.4. 偷偷告诉你咋从节点弹出对话框 3.7.5. 小小提示 3.7.6. 给树节点设置超链接 3.8. 灰壳显灵!让我直接修改树节点的名称吧! 3.9. 我拖,我拖,我拖拖拖。 3.9.1. 树形节点的...
对于Tree组件,你可以通过修改`.x-tree-node-icon`、`.x-tree-node-text`等类来调整节点图标和文本的样式。 ### 总结 ExtJS的Tree组件是一个功能强大且高度可定制的工具,用于展示分层数据。通过上述介绍,你应该...
var tree = new Ext.tree.TreePanel({ layout: "fit", title: "管理文档</center>", split: true, width: 200, height: 650, animate: false, enableDD: true, collapsible: true, autoScroll: true, root...
每个树节点都由`Ext.data.Model`定义,包含了节点的各种属性,如文本、图标、是否可展开等。通过扩展`Ext.data.TreeModel`,可以自定义节点的行为。 5. **渲染与交互**: 树的外观和交互可以通过配置`viewConfig`...
9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...
.x-tree-node-collapsed .x-tree-node-icon { background:transparent url(web/css/images/default/tree/1.gif); } .x-tree-node-expanded .x-tree-node-icon { background:transparent url(web/css/images/default...
- **Ext.tree.Panel**:展示TreeStore数据的组件,FileTree通常基于此组件进行扩展。 - **Ext.data.NodeInterface**:定义了树节点的基本行为,如展开、折叠、获取子节点等。 - **Ext.dd.DragDropManager**:处理...
3. **添加CellEditing插件**:EXT JS的CellEditing插件使用户能够点击单元格进行编辑,完成后自动保存更改。需在GridPanel上启用此插件,并为每列指定编辑器。 4. **绑定事件**:监听树节点的点击事件,以便在需要...
33. **Ext.data.Tree类**:树形数据结构,用于表示层级关系的数据。 34. **Ext.data.Node类**:树结构中的节点,包含了节点的基本属性和操作。 35. **Ext.Action类**:动作类,用于组合UI组件和事件处理。 36. **...
- `var root = new Ext.tree.TreeNode({ text: '', expanded: true, icon: 'treeImg/root.gif' })` 创建了树的根节点,设置其默认展开状态并指定了图标。 - 后续的 `var node1`、`var node2` 等变量分别代表树的...
这个包是在之前包的基础上多加了很多功能。 原来的内容: 1ext2.2源码及例子 2深入浅出extJs例子 3自己写的例子 470过个插件 新增内容: ...4动态修改树节点图标和提示层 5ext结合mxGraph作出流程图编辑器
var tree = new Ext.tree.TreePanel({ layout: "fit", title: "管理文档</center>", // 面板标题 split: true, width: 200, height: 650, animate: false, // 是否开启动画效果 enableDD: true, // 是否支持...
- 基于Ext.tree.TreePanel,具有基本的文件/文件夹管理功能,如上传、重命名、删除和移动。 - 具体是否开源未明确。 8. **Yahoo! UI Library: TreeView** - YUI TreeView Control 支持通过XMLHttpRequest动态...
- **类概述**:介绍Ext动态树的主要类,如`Ext.tree.TreePanel`,以及它们的基本用法。 - **配置项**:列出可以用来定制TreePanel的各种配置项,如`rootVisible`(是否显示根节点)、`useArrows`(是否显示箭头图标...
Ext.tree组件是用于展示层级数据的重要工具,常用于模拟文件系统、组织结构或其他具有层次关系的信息。以下是对标题和描述中知识点的详细说明: 1. **树形结构**:树是一种常见的数据表示形式,它由节点(如文件或...
10.4 修改节点的默认图标 10.5 从节点弹出对话框 10.6 节点提示信息 10.7 为节点设置超链接 10.8 树形的拖放 10.8.1 节点拖放的3种形式 10.8.2 叶子不能append 10.8.3 判断拖放的目标 10.8.4 树之间的拖放 ...
8. **改变树的默认样式**:`Ext tree更改默认样式.txt`会介绍如何通过CSS或组件配置来定制树形控件的外观,包括节点的颜色、字体、图标等。 9. **取消树的双击展开**:`Extjs tree取消双击展开.txt`可能讨论如何...