当不存在记录时如何隐藏jqGrid页脚行

当不存在记录时如何隐藏jqGrid页脚行,jqgrid,footer,Jqgrid,Footer,我正在使用页脚行显示“金额总计”列。如果找到0条记录,我将显示消息:“没有记录。如果要添加记录,请单击下面的“+”按钮。” 但是,页脚行仍显示为空单元格 我尝试了clearGridData方法 grid.jqGrid("clearGridData", true).trigger("reloadGrid"); 然而,这不起作用。我应该改用吗 $(".ui-jqgrid-ftable").css('visibility', 'hidden'); 或者你有更好的建议吗 问候, Abhilash

我正在使用页脚行显示“金额总计”列。如果找到0条记录,我将显示消息:“没有记录。如果要添加记录,请单击下面的“+”按钮。” 但是,页脚行仍显示为空单元格

我尝试了clearGridData方法

grid.jqGrid("clearGridData", true).trigger("reloadGrid"); 
然而,这不起作用。我应该改用吗

$(".ui-jqgrid-ftable").css('visibility', 'hidden'); 
或者你有更好的建议吗

问候,


Abhilash

在我看来,最好是用页脚隐藏div,而不是表(表具有类
ui jqgrid ftable
)。div具有类
ui jqgrid sdiv
。在我看来,
$(“.ui jqgrid ftable”)
在页面上使用多个网格的情况下似乎不太好

我认为您可以将隐藏/显示页脚放在
loadComplete
callback中。您可以测试返回的记录数,并且仅当有更多的as null记录时才显示页脚。相应的代码可能与以下内容有关:

loadComplete:函数(){
变量$this=$(this),
$footer=$this.closest(.ui jqgrid bdiv”)。next(.ui jqgrid sdiv”),
records=parseInt($this.jqGrid(“getGridParam”,“records”),10);
如果(记录>=0){
$footer.show();
}否则{
$footer.hide();
}
}
如果使用
$(this.grid.sDiv)
而不是
$this.closest(“.ui jqgrid bdiv”)。next(.ui jqgrid sDiv”)
,则可以获得最小的性能优势。
网格
是分配给网格DOM的内部属性。
grid
属性将在创建jqGrid期间初始化,并在内部使用。看起来像

因此,您可以将上述代码更改为

loadComplete:函数(){
var$footer=$(this.grid.sDiv),
records=parseInt($(this).jqGrid(“getGridParam”,“records”),10);
如果(记录>=0){
$footer.show();
}否则{
$footer.hide();
}
}

谢谢奥列格,你一直以来都帮了我很大的忙!