C'est un ajout à ma précédente question sur l'ajout de colonnes dans une table jqGrid. Voici mon nouveau js code:jqGrid reload grid
var col_names = ['First', 'Second', 'Third', 'Fourth', 'Fifth'];
var col_model = [
{name:'invid', index:'invid', width:100},
{name:'invdate', index:'invdate', width:90},
{name:'amount', index:'amount', width:80, align:'right'},
{name:'tax', index:'tax', width:80, align:'right'},
{name:'total', index:'total', width:80, align:'right'},
];
function createGrid()
{
var handle = $("#list").jqGrid({
url:'data.xml',
datatype: 'xml',
mtype: 'GET',
colNames: col_names,
colModel : col_model,
});
}
Maintenant, j'appelle createGrid();
après le document est chargé, tout fonctionne bien. Maintenant, je veux ajouter une nouvelle colonne (avec des données vides) et de recharger jqGrid:
$("#add_column").click(function() {
$('#list').trigger("DestroyGrid"); // Also tried UnloadGrid
col_names.push('New');
col_model.push({name: 'test', index: 'test', width: 100});
createGrid(); // And recreate grid
});
Mais rien ne se passe, pourquoi?
UPD
$("#add_column").click(function() {
col_names.push('New');
col_model.push({name: 'test', index: 'test', width: 100});
$('#list').trigger("reloadGrid");
});
La même situation
UPD2 J'ai essayé ces:
ajaxGridOptions: {cache: false},
loadonce:false
N'a pas changé la situation.
'ajaxGridOptions: {cache: false}' et 'loadonce: false' sont les paramètres par défaut, ils ne peuvent pas aider. Si votre réponse ne vous aide pas, veuillez poster l'exemple de code complet avec du code HTML et tester le code XML que vous utilisez et je le modifie pour le faire fonctionner. – Oleg