jqGrid reload grid

Это дополнение к предыдущему моему вопросу о добавлении столбцов в таблицу на основе jqGrid. Вот мой новый js-код:

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,
  }); 
}

Теперь я вызываю createGrid (); после загрузки документа, все работает нормально. Теперь я хочу добавить новый столбец (с пустыми данными) и перезагрузить 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
  });

Но ничего не происходит, почему?


UPD

  $("#add_column").click(function() {
        col_names.push('New');
        col_model.push({name: 'test', index: 'test', width: 100});

        $('#list').trigger("reloadGrid");
  });

Та же ситуация


UPD2 Я пробовал эти:

ajaxGridOptions: {cache: false},
loadonce:false

Ситуацию не изменило.

13
задан Brian Tompsett - 汤莱恩 2 October 2016 в 14:29
поделиться