2017-09-27 1 views
0

J'utilise une grille de Kendo avec un groupement qui affiche un comportement étrange si la grille est ré-peuplée.Grille de Kendo récupère les anciennes données lors du regroupement

étapes pour produire un comportement étrange:

  1. Sur bouton grille de clic est créé avec la source de données, mais pas de données
  2. Un ou plusieurs appels ajax ont été effectuées et les résultats sont ajoutés au réseau
  3. données est rendu à la grille comme prévu
  4. Cliquez sur le bouton de recherche de nouveau et grille est remplie comme prévu
  5. Faites glisser une colonne dans la barre de regroupement

Après l'étape cinq, la grille est regroupée avec les données de recherche d'origine.

Cliquez sur le bouton de groupe pour trier et la recherche mise à jour est affichée.

Voici le code qui ajoute des lignes à la grille:

var grid = $('#grid'); 
var dataSource = grid.data().kendoGrid.dataSource; 
if (data.length > 0) { 

    $.each(data, function (i, v) { 
     dataSource.add(v); 
    });  
} 

J'ai essayé plusieurs choses à éclaircir la source de données, y compris les variations sur les points suivants:

$("#grid").data("kendoGrid").dataSource.data([ ]); 

L'ancienne recherche les données sont conservées quelque part et ne sont pas affichées avant le début du regroupement.

Répondre

0

La résolution efface les données de la grille elle-même et non de la source de données. L'appel de la méthode destroy a nettoyé tous les attributs de données JQuery et j'ai pu repeupler la grille avec le comportement impair.

var grid = $('#report').data('kendoGrid'); 

if (grid) { 
    grid.destroy(); 
}