当要打印的网格时,它显示隐藏在extjs 4中的子列?

时间:2014-01-10 11:43:06

标签: javascript jquery extjs4

我正在使用网格。什么时候能够使用Ed spenser的网格打印机进行打印以打印网格。它在打印预览中显示实际隐藏的子列。

用于打印

print: function(grid) {
            var columns = [];
            for(var index in grid.columns) {
                var column = grid.columns[index];
                console.log(column);
                console.log("column.isVisible()-->"+column.isVisible());
                if(column.isVisible()) {
                    console.log("column.items.length:"+column.items.length);
                    console.log("column.items.visible:"+column.items.items);
                    if(!column.items.length) {
                        columns.push(column);
                    } else {
                        columns = columns.concat(column.items.items);
                    }
                }
            }

            var data = [];
            grid.store.data.each(function(item) {
                var convertedData = [];
                for(var key in item.data) {
                    var value = item.data[key];
                    Ext.each(columns, function(column) {
                        if(column.dataIndex == key) {
                            convertedData[key] = column.renderer ? column.renderer.call(grid, value, {}, item) : value;
                        }
                    }, this);
                }
                data.push(convertedData);

    });

Ext.apply(this, {
            store: App.mcmTaskStore,
            columnLines: true,
            columns: [
                { header: 'P', sortable: false, width: 25, dataIndex: 'Priority', renderer: priorityRenderer }, //false because it's H M L and it sorts alphabetically
                { header: 'START', sortable: true, width: 100, dataIndex: 'StartDateFormatted', hidden: true, renderer: this.mcmCustomRenderer},
                { 
                    header: 'Incoming Flights',
                    columns: [
                        { header: 'FLT', sortable: true, width: 80, dataIndex: 'IncomingFlightNumber', renderer: this.mcmCustomRenderer },
                        { header: 'ETA', sortable: true, width: 120, dataIndex: 'IncomingFlightEta', renderer: startDateCustomRenderer },
                        { header: 'CTY', sortable: true, width: 60, dataIndex: 'IncomingFlightStation', renderer: this.mcmCustomRenderer },
                        { header: 'GT', sortable: true, width: 50, dataIndex: 'IncomingFlightGate', hidden: true, renderer: this.mcmCustomRenderer}
                    ]
                },
                { header: 'END', sortable: true, width: 100, dataIndex: 'EndDateFormatted', hidden: true, renderer: this.mcmCustomRenderer},
                {
                    text: 'Outgoing Flights',
                    columns: [
                        { header: 'FLT', sortable: true, width: 80, dataIndex: 'OutgoingFlightNumber', renderer: this.mcmCustomRenderer },
                        { header: 'ETD', sortable: true, width: 120, dataIndex: 'OutgoingFlightEtd', renderer: endDateCustomRenderer },
                        { header: 'CTY', sortable: true, width: 60, dataIndex: 'OutgoingFlightStation', renderer: this.mcmCustomRenderer },
                        { header: 'GT', sortable: true, width: 50, dataIndex: 'OutgoingFlightGate', hidden: true, renderer: this.mcmCustomRenderer}
                    ]
                },
                { header: 'PAX NAME', sortable: true, width: 250, dataIndex: 'Name', renderer: this.mcmCustomRenderer },
                { header: 'COMMENTS', sortable: false, flex: 1, dataIndex: 'Notes', hidden: true, renderer: this.mcmCustomRenderer},
                { header: 'AGENT NAME', sortable: true, width: 250, dataIndex: 'AgentName', renderer: this.mcmCustomRenderer },
                { header: 'TASK TYPE', sortable: true, width: 120, dataIndex: 'TaskType', renderer: this.mcmCustomRenderer }
            ],
            tbar: mcmTbar
        });

0 个答案:

没有答案