【问题标题】:Clear all rows from Slickgrid when closing modal window关闭模式窗口时从 Slickgrid 中清除所有行
【发布时间】:2013-02-21 15:09:31
【问题描述】:

我在 jquery 模态层中有 2 个 SlickGrid。
我需要能够在模式层关闭时清除所有行,以便当/如果用户稍后重新打开模式层时网格为空。
其实我可以这样做:

dataViewMG1.beginUpdate();
dataViewMG1.getItems().length=0;
dataViewMG1.endUpdate();

但如果我这样做,我将无法使用我的任何标准方法重新填充网格:

dataViewMG1.beginUpdate();
dataViewMG1.setItems(modaldata1);
dataViewMG1.endUpdate();
invmodalgrid1.invalidate();
invmodalgrid1.render();

有人有什么想法吗?? 谢谢

【问题讨论】:

    标签: slickgrid


    【解决方案1】:

    我个人在刷新数据之前清空了我的网格,所以它不会让用户误以为这是实际刷新的数据。这似乎是你想要在这里做的。

    我在 HTML 中的网格是:
    <div id="myGrid1" style="width:100%;height:680px;"></div>

    在我的 JavaScript 中,我在刷新之前清空了网格
    $('#myGrid1').empty(); // empty out the Grid before refreshing the data

    【讨论】:

    • 嗯...这对我不起作用。似乎没有 empty() 方法。我正在使用 V2.0.2 SlickGrid。
    • 实际上...调试器确实运行了一个 empty() 方法,但它没有清空任何东西。重新打开时,网格仍然显示为已填充。
    • empty 来自jQuery 可以看到前面的$,jQuery 中的方法是这样的document.getElementById("myGrid1").innerHTML = ""; 的直接 javascript 调用将 myGrid1 替换为您的网格名称
    • 顺便说一下,在您的示例中不是invmodalgrid1,而是您在此示例中拥有的HTML名称grid1 = new Slick.Grid("#myGrid1", dataView1, columns1, options1);,您可以在我的示例中看到HTML名称是myGrid1和不是grid1...记得用好的!
    • 啊……完美!我的网格名称与 invmodalgrid1 和 invmodalGrid1 略有不同。谢谢
    猜你喜欢
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    相关资源
    最近更新 更多