javascript – Extjs Grid面板 – 渲染后更改enableColumnHide属性

前端之家收集整理的这篇文章主要介绍了javascript – Extjs Grid面板 – 渲染后更改enableColumnHide属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请帮忙!我正在使用ExtJs 4.1网格面板.

我正在寻找一种在渲染后更改网格enableColumnHide属性方法.
我在几个屏幕中重复使用相同的网格,只需稍作修改,主要是隐藏一些列.

在其中一个屏幕中,我只留下了不应该隐藏的列,因此我想完全从列标题菜单删除该选项,但是当我到达其他屏幕时恢复它.

有任何想法吗?

解决方法

似乎没有明显的方法可以做到这一点,但我发现了一个hack – 每次更改该值时都会在headerCt和destroy header菜单上更改enableColumnHide.示例代码
var checkBox = new Ext.form.field.CheckBox({
    renderTo: 'checkBox',BoxLabel: 'enableColumnHide',checked: true,handler: function(sender,checked) {
        var h = grid.headerCt;
        h.enableColumnHide = checked;
        if (h.menu) {
            h.menu.destroy();
            h.menu = null;
        }
    }
});

通过在列上使用hideable也可以实现:

var checkBox = new Ext.form.field.CheckBox({
    renderTo: 'checkBox',checked) {
        Ext.each(grid.columns,function(c){
            c.hideable = checked;
        });
    }
});

使用enableColumnHide的工作示例:http://jsfiddle.net/M3Aqq/5/

可隐藏的工作样本:http://jsfiddle.net/M3Aqq/9/

猜你在找的JavaScript相关文章