`

ext tree 更改图标

 
阅读更多
如果在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
    });
分享到:
评论

相关推荐

    Ext 开发指南 学习资料

    3.7.3. 默认图标好单调,改一下撒 3.7.4. 偷偷告诉你咋从节点弹出对话框 3.7.5. 小小提示 3.7.6. 给树节点设置超链接 3.8. 灰壳显灵!让我直接修改树节点的名称吧! 3.9. 我拖,我拖,我拖拖拖。 3.9.1. 树形节点的...

    EXT2.0中文教程

    9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...

    通过CSS样式来修改ExtJS:TreePanel的小图标

    .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教程EXT用大量的实例演示Ext实例

    9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...

    Ext学习必备,涵盖大量实例,插件,其他有用组件

    这个包是在之前包的基础上多加了很多功能。 原来的内容: 1ext2.2源码及例子 2深入浅出extJs例子 3自己写的例子 470过个插件 新增内容: ...4动态修改树节点图标和提示层 5ext结合mxGraph作出流程图编辑器

    精通JS脚本之ExtJS框架.part1.rar

    10.4 修改节点的默认图标 10.5 从节点弹出对话框 10.6 节点提示信息 10.7 为节点设置超链接 10.8 树形的拖放 10.8.1 节点拖放的3种形式 10.8.2 叶子不能append 10.8.3 判断拖放的目标 10.8.4 树之间的拖放 ...

    精通JS脚本之ExtJS框架.part2.rar

    10.4 修改节点的默认图标 10.5 从节点弹出对话框 10.6 节点提示信息 10.7 为节点设置超链接 10.8 树形的拖放 10.8.1 节点拖放的3种形式 10.8.2 叶子不能append 10.8.3 判断拖放的目标 10.8.4 树之间的拖放 ...

    ExtAspNet_v2.3.2_dll

    +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,...

    变色龙安装程序

    indows版下载地址: ...3.打开ext2fs UUID 4.GMA添加了一些HD3000显卡的修改 5.修复了GUI themese问题 6.添加Nvidia和Ati的一些芯片ID:630m 9600GT 9500MG HD5670 7.添加了对于新的处理器的检测 8.修复主题中图标问题

Global site tag (gtag.js) - Google Analytics