代码之家  ›  专栏  ›  技术社区  ›  Max Frai

JQ网格重新加载网格

  •  13
  • Max Frai  · 技术社区  · 15 年前

    这是我之前关于将列添加到基于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
    

    没有改变情况。

    2 回复  |  直到 9 年前
        1
  •  15
  •   Oleg    15 年前

    你可以做以下的事情

    var counter=1; // to be able to click more then one time
    $("#add_column").click(function() {
        $("#list").jqGrid('GridUnload');
    
        col_names.push('New'+counter);
        col_model.push({name: 'test'+counter, index: 'test'+counter, width: 100});
        counter++;
    
        createGrid();
    });
    
        2
  •  2
  •   Vadyus    15 年前

    尽量不要破坏/创造,但是 .trigger("reloadGrid");

    UPD: :尝试将loadOnce:false传递到网格创建参数

    UPD2: :似乎jqgrid无法在列更改为“正在运行”时运行。尝试销毁第一个网格并创建另一个而不是它。

    推荐文章