2015-08-05 3 views
0

Lorsque je mets à jour certaines valeurs dans mon Slickgrid, j'ai parfois besoin de recharger toute la grille. J'ai vérifié que les données correctes sont retournées, et c'est le cas, mais le slickgrid lui-même n'est pas mis à jour. Si je clique sur les cellules avec un éditeur, alors leurs valeurs sont mises à jour, mais c'est seulement quand je recharge à nouveau slickgrid que tout est mis à jour.Parfois, lorsque slickgrid est mis à jour, les mises à jour ne s'affichent pas

Le code pour charger la grille et pour le charger après les mises à jour est le même, ou le problème vient-il des données étant très similaires, donc il ne fera pas un rafraîchissement?

J'utilise cette fonction pour rendre la grille après que je reçois les données d'un appel ajax et de déterminer les colonnes à afficher:

// render the grid with the given columns and data 
    var renderGrid = function(columns, data) { 
     grid.setColumns(columns); 
     dataView.beginUpdate(); 
     dataView.setItems(data); 
     dataView.endUpdate(); 
     grid.setSelectedRows([]); 
     grid.render(); 
    } 

Répondre

0

Une autre question, mais en utilisant les fonctions de mise à jour de la grille dans this réponse, je ça marche.

+1

La clé à emporter est 'grille.invalidate()'. Voir aussi la discussion trouvée dans [getting started] (https://github.com/mleibman/SlickGrid/wiki/Getting-Started). Côté note, l'appel explicite à 'dataview.refresh' dans la réponse liée est étranger car il est appelé depuis' dataview.endUpdate'. – Origineil

+0

Oui, j'avais du mal à obtenir un exemple sur le site de rendu slickgrid avec dataView. Merci de votre aide. – Niel