Comment créer des colonnes dynamics pour Handsontable?

Je travaille avec Handsontable pour créer une grid Web qui peut copier / coller entre Web et Excel, j’ai essayé avec le code ci-dessous et cela fonctionne bien:

var first = true; var exampleGrid = $("#exampleGrid"); exampleGrid.handsontable({ rowHeaders: true, colHeaders: true, stretchH: 'all', minSpareCols: 0, minSpareRows: 0, height: 600, columns: [ { data: "Id", title: "ID", type: "text" }, //'text' is default, you don't actually have to declare it { data: "Name", title: "Name", type: "text" }, { data: "DisplayColor", title: "Display Color", type: 'autocomplete', source: ["yellow", "red", "orange", "green", "blue", "gray", "black", "white"] }, { data: "Description", title: "Description", type: 'text' }, { data: "IsDeleted", title: "Is Deleted", type: 'checkbox' } ], colWidths: [400, 100, 60, 100, 50, 40, 40, 60], //can also be a number or a function contextMenu: false, }); 

Maintenant, j’ai besoin de créer une grid Web avec des colonnes dynamics, j’ai essayé de remplacer la liste de colonnes par la fonction ci-dessous, mais cela ne fonctionne pas:

  columns: function () { var cols = []; for (var i = 0; i < 1; i++) { var col = new Object(); col.data = "Name"; col.title = "Name" + i.toString(); col.type = "text"; cols[i] = col; } return cols; }, 

Est-il possible de créer des colonnes dynamics dans la grid Handsontable? et comment le faire?

Je suis un débutant en JavaScript, alors dites-moi s’il y a une erreur que j’ai commise, merci!

Résolu ce problème par moi-même, la fonction ne peut pas être utilisée directement dans la définition de colonne, mais la variable est autorisée. Le code ci-dessous fonctionne donc:

 var dynamicColumns = []; for (var i = 0; i < 366; i++) { var col = new Object(); col.data = "Name"; col.title = "Name " + i.toString(); col.type = "text"; dynamicColumns.push(col); } skillGrid.handsontable({ // ... columns: dynamicColumns, // ...