È un'aggiunta per la precedente domanda sull'aggiunta di colonne nella tabella basata su jqGrid. Ecco il mio nuovo js-code:jqGrid ricarica griglia
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,
});
}
Ora mi chiamano createGrid();
dopo il documento è stato caricato, tutto funziona bene. Ora voglio aggiungere una nuova colonna (con dati vuoti) e ricaricare 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
});
ma non succede nulla, perché?
UPD
$("#add_column").click(function() {
col_names.push('New');
col_model.push({name: 'test', index: 'test', width: 100});
$('#list').trigger("reloadGrid");
});
La stessa situazione
UPD2 Ho provato questi:
ajaxGridOptions: {cache: false},
loadonce:false
Non ha modificato la situazione.
'ajaxGridOptions: {cache: false}' e 'loadonce: false' sono impostazioni predefinite che non possono aiutare. Se la risposta ti aiuta, per favore pubblica l'esempio completo di codice con codice HTML e prova XML che usi e io lo modifico per farlo funzionare. – Oleg