在 extjs 3.3.1 columnmodel 中打印未隐藏的列

Printing the unhidden columns in extjs 3.3.1 columnmodel

在 Ext Js 3.3.1 中有没有打印唯一未隐藏的列。我正在使用列模型来实现网格设计。

我想做的是只导出未隐藏的列。导出逻辑很好,现在我需要帮助的是存储未隐藏的列并传递它们。我正在分享一段代码,但我不会代码会有很大用处。

假设我 table 有列

名称地点动物事物

现在我取消隐藏动物列。

命名地点事物

我的代码如下

var columnmodel = new Ext.grid.ColumnModel({
    columns:[
        {header: "Name", id: "id", , sortable: true, dataIndex: 'Name'},
        {header: "Place", id: "entityType", sortable: true, dataIndex: 'Place'},
        {header: "Animal", id: "title", sortable: true, dataIndex: 'title'},
        {header: "Thing", id: "title", sortable: true, dataIndex: 'title'},
    ],
    listeners: {
        {@link #hiddenchange}: function(cm, colIndex, hidden)   {
            saveConfig(colIndex, hidden);
        }
    }
});

我在这里查看哪些列是隐藏的,哪些不是,即我的控制台应该说

未隐藏的列是:- 名称地点事物。

希望我理解正确。
试一试:

listeners: {
    hiddenchange: function (cm) {
        var visibileCols = [];
        Ext.each(cm.columns, function(col){
            if(!col.hidden){
                visibileCols.push(col.header);
            }
        });
        console.log(visibileCols);
        // you should use: return visibileCols 
        // or store them in a grid property...
   }
}