handsontable: cacher certaines colonnes sans modifier les données de tableau/objet

J'ai données à afficher dans la grille. Je suis à l'aide de handsontable pour afficher les données. Chaque 3ème colonne est calculée comme la différence des deux précédents (par exemple, la 3ème colonne est rendu comme la somme de la 1ère et de la 2ème colonne; cela se fait par la coutume convertisseur prenant la somme des i-1 et i-2 colonnes).

C'est ma coutume rendu de la "différence" colonnes:

var val1 = instance.getDataAtCell(row, col - 1),
    val2 = instance.getDataAtCell(row, col - 2),
    args = arguments;
        args[5] = val2 - val1;
        if (args[5] !== 0) {
            $(td).addClass('grid-column-class-nonzero');
        }
        Handsontable.renderers.NumericRenderer.apply(this, args);

J'ai besoin d'avoir un "switch". Ce commutateur afficher/masquer les colonnes. Si l'interrupteur est SUR, puis j'ai besoin d'afficher toutes les colonnes. Si l'interrupteur est sur OFF, j'ai besoin d'afficher uniquement les colonnes qui contient des différences.
Donc, pouvez-vous suggérer - comment masquer des colonnes dans hansontable?

EDIT: j'ai mis à jour mon code comme suggéré par @ZekeDroid.

 //on 'switch click' I modify colsToHide global array and do table re-render
 $('#my-id').handsontable('render');

Et c'est ma coutume moteur de rendu pour les colonnes qui doit être caché/montré basé sur l'interrupteur:

var colsToHide = [];
var classModel1Renderer = function (instance, td, row, col, prop, value, cellProperties) {
    "use strict";
    if (colsToHide.indexOf(col) > -1) {
        td.hidden = true;
    } else {
        td.hidden = false;
    }

    Handsontable.renderers.TextRenderer.apply(this, arguments);
    $(td).addClass('grid-column-class-model1');
};

Ce code en effet masque/affiche les colonnes, mais il ne fonctionne pas pour l'en-tête de colonne.

OriginalL'auteur renathy | 2015-03-01