首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态显示/隐藏列

动态显示/隐藏列
EN

Stack Overflow用户
提问于 2011-03-21 03:08:15
回答 3查看 32.2K关注 0票数 3

可能重复:

how to show/ hide column in a grid panel

在ext js网格中,我需要隐藏/显示基于cond = true/ false的列。

我可以动态设置列的“隐藏”属性吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-21 05:31:46

可以使用beforerender事件隐藏列。在调用呈现函数以显示网格之前调用该事件。事件函数采用param,即网格本身。从这个网格对象中,您可以获得网格的列模型,并调用setHidden方法来隐藏适当的列。从网格对象中,您还可以获得附加到网格上的存储以供检查。

下面是代码的实现方式:

代码语言:javascript
运行
复制
listeners: {
    'beforerender' : function(grid) {

        store = grid.getStore();
        if(your-condition) {
            cm = grid.getColumnModel();
            cm.setHidden(0,true);
        }

    }
}
票数 11
EN

Stack Overflow用户

发布于 2012-02-04 14:37:20

当存储加载时,您可以检查和隐藏:

代码语言:javascript
运行
复制
store.load({
    callback: function(){
        // access raw json data and check some columns to hide or not
        if(store.getProxy().getReader().rawData.myColumn.hide) {
            grid.columns[1].setVisible(false);
        }
        if(store.getProxy().getReader().rawData.myAnotherColumn.hide) {
            grid.columns[4].setVisible(false);
        }
    }
});
票数 5
EN

Stack Overflow用户

发布于 2011-03-21 03:26:51

如果($(‘.selector’).is(‘:隐藏’){ your_code }

http://api.jquery.com/hidden-selector/

票数 -6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5373425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档