10
votes

Définition des données JQGRID après la création de la grille

Le code d'exemple suivant chargera un fichier JQGrid (ce code fonctionne) ... xxx pré>

Comment puis-je réécrire l'exemple de sorte que le griddata est défini après la création de JQGrid? J'ai essayé cela ... p> xxx pré>

Cependant, le code ci-dessus ne fonctionne pas. Peut-on me montrer comment s'il vous plaît? P>

Mise à jour: J'ai également essayé cela pour ma dernière ligne, mais cela n'a pas fonctionné non plus ... P>

    $('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData});


0 commentaires

3 Réponses :


18
votes

Peut-être essayez peut-être de recharger la grille après? xxx


3 commentaires

Oui, je viens de le comprendre et je suis revenu pour répondre à ma propre question et trouvé le vôtre. Merci!


@John: Je ne suis pas sûr de la dernière version, mais probablement un appel d'appel Regétahindex après la mise à jour du paramètre Data (voir Stackoverflow.com/Questtions/3414774/... < / a>). Il peut s'agir de ce relodgrid fait déjà tout le travail. De plus, vous devriez inclure dans les éléments de GridData Array ID Propriété ou utilisez localReader pour définir la colonne de la grille peut être interprétée comme identifiant. Par exemple localReader: {id: 'col1'}


Cette solution ne fonctionne pas, lorsque la grille est chargée avec différentes données dans la même page, n nombre de fois. Les anciennes données restent et les nouvelles données sont ajoutées à elle. Parce que SetGridParam utilise jquery.extend à part en interne. Cliquez pour en voir plus



0
votes

@InfantDev Si j'ai bien compris ce que vous essayiez de dire: je pense que vous devez faire un gridunload xxx

avant d'ajouter les nouvelles données


0 commentaires

0
votes

solution de Ewan Heming (ci-dessus) ne fonctionnera pas avec GRATUIT JQGRID (au moins avec la version 4.15.2) Lorsqu'il y a des données chargées dans la grille et que vous souhaitez modifier les données.

Toutefois, après quoi a été suggéré par Oleg (je ne me souviens plus où) fonctionnera et il mettra également votre pager en grille à 1 au cas où Vos nouvelles données n'ont pas de nombreuses pages. P>

var gParams = $('#myGrid').jqGrid("getGridParam");
gParams.data = data;
$('#myGrid').trigger("reloadGrid", [{page: 1}]);


0 commentaires