SlickGrid的参数错误无效

时间:2012-04-12 17:56:23

标签: slickgrid

我在网页上有一个jQueryUI Tabs控件。每个选项卡都包含一个或多个Slickgrid网格。

有时,但是我没有找到特定的模式,在删除标签时(因此删除了Slickgrid的实例),我得到了:

// slick.grid-2.0.merged.min.js: Microsoft JScript runtime error: Invalid argument
Z[0].styleSheet.cssText=a.join(" ")

然后传播到

// jquery-1.7.1.min.js: Microsoft JScript runtime error: Exception occurred.
a.execScript||function(b){a.eval.call(a,b)})(b)

是什么导致了这个问题,我该如何解决/解决它?

1 个答案:

答案 0 :(得分:0)

在@Tin发表评论之后,我确保SlickGrid的每个实例在与之相关联的HTML元素之前被销毁,并被Ajax结果替换。

利用

Is there a way to get an instance of SlickGrid from an element

我最终得到了这样的代码:

初始化SlickGrid实例:

grid = new Slick.Grid("#myGridDiv", myDataView, myColumns, myOptions);
$('#myGridDiv').data('slickgrid', grid);

一般清理功能:

function cleanupSlickGrid() {
    //@* Cleanup slickgrid instances.  See: https://stackoverflow.com/questions/10129069/invalid-argument-error-with-slickgrid *@
    var grids = $('.slick'); //@* I add the class 'slick' to each grid *@
    jQuery.each(grids, function(i, val) {
        var grid = $(this).data('slickgrid');
        grid.destroy();
        });
}

使用像这样的常规清理功能:

$.ajax(
{
    url: removeUrl,
    type: "POST",
    success: function (data)
    {
        cleanupSlickGrid();
        $('#myDivId').html(data); 
    }
}