如何在网格内容加载时隐藏jqgrid标头?

时间:2017-12-22 07:20:59

标签: jquery jqgrid free-jqgrid

由于原因,我需要隐藏由jqgrid生成的默认标头并为其设置我自己的标头。对于演示,我正在尝试类似this的内容。

        loadComplete:function(){
        //$(".ui-jqgrid-titlebar").css("display","none");
        $(".ui-jqgrid-hdiv").css("display","none");
        if (!$(".ui-jqgrid-titlebar").next().hasClass("newheader"))
        {
            $("<div class='newheader'><div class='col-md-6''> FirstText </div><div class='col-md-6'> SecondText </div></div>").insertAfter(".ui-jqgrid-titlebar");           
        }

    },

但我的实现有13列和50行也是&#34;分组&#34;网格。

目前填充网格大约需要4秒钟。在此加载时间期间,将显示默认标头。但我希望在内容加载时隐藏它。我该怎么做?

在一个answer中,我开始知道为了隐藏标题,我们必须省略标题。但是我需要标题而不是标题。帮助我吧!

2 个答案:

答案 0 :(得分:1)

在我看来,您只想更改网格布局(所有外部潜水和标题),而不是网格主体。创建jqGrid后,将立即创建网格布局。另一方面,将加载数据后将调用loadCompleteloadComplete内的所有当前代码与数据无关。因此,您可以从jqGrid外部移动代码。此外,如果您不想显示标题,则可以删除caption参数。之后,您可以删除不需要的行$(".ui-jqgrid-titlebar").css("display","none");。代码将是

// create the grid
$("#grid1").jqGrid({
    ...
});
$(".ui-jqgrid-hdiv").css("display","none");
$("<div class='newheader'><div class='col-md-6''>FirstText</div><div class='col-md-6'>SecondText</div></div>").insertAfter(".ui-jqgrid-titlebar");  

https://jsfiddle.net/92da8xhq/11/。我在创建网格之前添加了$("#grid1").jqGrid("GridUnload");,因为您当前的代码可以更多地调用showgrid函数。

答案 1 :(得分:0)

您可能希望使用gridComplete而不是loadComplete,但是如果您使用Guriddo jqGrid,或者您的代码可以包含在setTimeout函数中,那么在显示您自己的标题之前就是如此