vishare 2011-08-08 16:26
浏览 481
已采纳

extjs grid 的header可以动态设置吗?

[code="java"]var store = new Ext.data.ArrayStore({fields: [{ name: 'value'}, {name: 'text'}]});

var data = [['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4', 'Four'], ['5', 'Five'], ['6', 'Six'], ['7', 'Seven'], ['8', 'Eight'], ['9', 'Nine'], ['10', 'Ten'], ['11', 'Eleven'], ['12', 'Twelve'], ['13', 'Thirteen'], ['14', 'Fourteen'], ['15', 'Fifteen'], ['16', 'Sixteen']];  

store.loadData(data);  

var enableHdMenu = false;  
var panel = new Ext.grid.GridPanel({
    title:'grid-style',
    closable:true,
    store: store,  
    columns: [{  
        header: 'ID',  
        dataIndex: 'value'  
    }, {  
        header: 'Name',  
        dataIndex: 'text'  
    }],  
    enableHdMenu: enableHdMenu,  
    viewConfig: {  
        templates: {  
            hcell : new Ext.Template(  
                '<td class="x-grid3-hd x-grid3-cell x-grid-hcell-bgcolor x-grid3-td-{id} {css}" style="{style}"><div {tooltip} {attr} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">', enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '',  
                '{value}<img class="x-grid3-sort-icon" src="', Ext.BLANK_IMAGE_URL, '" />',  
                '</div></td>'),  
            cell: new Ext.XTemplate(  
                '<td class="x-grid3-col x-grid3-cell {cellbgcolor:this.cellBackgroudColor} x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',  
                '<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on" {attr}>{value}</div>',  
                '</td>', {  
                    cellBackgroudColor: function() {  
                        var o = arguments[1];  
                        if (o.css.indexOf('x-grid3-cell-first') != -1) {  
                            return 'x-grid-cell-bgcolor';  
                        }  
                        return '';  
                    }  
                })  
        }  
    }  
});  [/code]

以上的代码可以设置表头的颜色了,如果我想要实现点击一个按钮让它变为默认的设置,再点击一次又设置成代码中的样式,应该怎么做呢?

  • 写回答

3条回答 默认 最新

  • myali88 2011-08-09 10:59
    关注

    [code="java"]
    function setActiveStyleSheet(title) {
    var i,
    a,
    links = document.getElementsByTagName("link"),
    len = links.length;
    for (i = 0; i < len; i++) {
    a = links[i];
    if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
    a.disabled = true;
    if (a.getAttribute("title") == title) a.disabled = false;
    }
    }
    }
    [/code]
    这是extjs主题切换里面的实现,其实它只是在html总加载了多个样式,然后通过样式上的“disabled”属性来控制哪一个有效,你也可以这样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向