2017-05-08 6 views
0

Ich brauche Spalten mein Kendo Raster pro ausgewählte Filter dynamisch neu zu erstellen, so nenne ich diesen Code:Dynamisch Kendo Rasterspalten ändern wischt Elementeigenschaften Werte

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); 
}, 

Das Problem ist, dass das Gitter jetzt einige sehr wichtig fehlt Eigenschaftswerte, z Element, Inhalt usw.

Die einzigen Eigenschaften, die noch Werte haben sind: Spalten, DataSource, Optionen, _cellId, _data, _events.

Irgendwelche Ideen, wie man sie nicht verliert oder vielleicht um sie wieder aufzubauen?

Ich baue das Gitter aus MVC-Code und nach der Auswahl einiger Filter ich es von JavaScript neu erstellen (wenn es irgendeinen Hinweis gibt).

Dank

+0

Haben Sie versucht setOptions() auf das bestehende Netz, statt es wieder aufzubauen verwenden? http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#methods-setOptions – Orilux

+0

Danke, es scheint zu funktionieren. Bis jetzt habe ich unter anderem versucht, 'grid.options = gridDef' zu tun. Ich habe die setOptions-Methode nicht durchgeführt. Danke :) –

Antwort

0

Dank @Orilux verwendete ich die setOptions Methode während bevor ich so etwas wie versucht 'grid.options = gridDef'.

nun wie folgt meine Codes und es funktioniert:

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