2017-05-08 1 views
0

je dois reconstruire mes colonnes de la grille de kendo dynamique par filtre sélectionné, donc j'appelle ce code:changer Dynamiquement colonnes de la grille kendo lingettes propriétés de l'élément valeurs

setGridDefinition: function (grid, gridId, gridDef) { 
    var options = grid.options; 
    options.columns = gridDef.columns; 
    options.groupable = gridDef.groupable; 
    options.sortable = gridDef.sortable; 
    options.selectable = gridDef.selectable; 
    options.pageable = gridDef.pageable; 
    options.scrollable = gridDef.scrollable; 
    options.filterable = gridDef.filterable; 
    options.resizable = gridDef.resizable; 
    grid.destroy(); 
    $("#" + gridId).empty().kendoGrid(options); 
}, 

Le problème est que la grille manque maintenant une très importante valeurs de propriété, par exemple élément, contenu, etc.

Les seules propriétés qui ont encore des valeurs sont: columns, dataSource, options, _cellId, _data, _events.

Des idées pour ne pas les perdre ou peut-être les reconstruire?

Je construis la grille à partir du code MVC et après avoir sélectionné un filtre, je le reconstruis à partir de JavaScript (s'il donne des indices).

Merci

+0

Avez-vous essayé d'utiliser setOptions() sur le réseau existant, au lieu de le reconstruire? http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#methods-setOptions – Orilux

+0

Merci, Il semble fonctionner. Jusqu'à présent, j'ai essayé entre autre de faire 'grid.options = gridDef'. Je n'ai pas conçu la méthode setOptions. Merci :) –

Répondre

0

Merci à @Orilux j'ai utilisé la méthode setOptions avant tout essayé quelque chose comme 'grid.options = gridDef'.

maintenant mes codes comme celui-ci et il fonctionne:

setGridDefinition: function (grid, gridId, gridDef) { 
    grid.setOptions(gridDef); 
},