在 extjs 3.3.1 列模型中打印未隐藏的列

Printing the unhidden columns in extjs 3.3.1 columnmodel

本文关键字:隐藏 打印 模型 extjs      更新时间:2023-09-26

无论如何都可以打印Ext Js 3.3.1中唯一未隐藏的列。我正在使用列模型来实现网格设计。

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

假设我有有列的表

名称 地点 动物事物

现在我取消隐藏动物列。

名称 地点

事物

我的代码如下

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...
   }
}