触发器(';重新加载网格';)调用后,列上的jqgrid排序图标不会重置

触发器(';重新加载网格';)调用后,列上的jqgrid排序图标不会重置,jqgrid,Jqgrid,请参阅下面的示例代码 最初,网格在任何网格列标题中都没有排序图标-很好 单击“客户端”列标题对网格进行排序 点击刷新按钮。它调用grid.trigger('reloadGrid') 网格已重新加载,但“客户端”标题上的排序图标仍然存在。-不太好 ` `如果不想看到排序图标,可以使用 $("span.s-ico",jQuery("#list").grid.hDiv).hide(); 在大多数情况下,未排序的网格(sortname:“)不是最佳选择。因此,我建议您为数据排序选择一些类似“id”

请参阅下面的示例代码

  • 最初,网格在任何网格列标题中都没有排序图标-很好

  • 单击“客户端”列标题对网格进行排序

  • 点击刷新按钮。它调用grid.trigger('reloadGrid')

  • 网格已重新加载,但“客户端”标题上的排序图标仍然存在。-不太好

`


`

如果不想看到排序图标,可以使用

$("span.s-ico",jQuery("#list").grid.hDiv).hide();
在大多数情况下,未排序的网格(
sortname:“
)不是最佳选择。因此,我建议您为数据排序选择一些类似“id”的列。如果要取消排序数据,则必须在重新加载网格之前设置
sortname:''
参数。因此,单击“#刷新btn”按钮时执行的函数应该与以下内容有关

$('#refresh-btn').click(function() {
    var myGrid = jQuery("#list");
    $("span.s-ico",myGrid[0].grid.hDiv).hide(); // hide sort icons
    myGrid.setGridParam({sortname: ''}).trigger('reloadGrid');
});
您想在
loadComplete
中执行什么操作我不确定。更改位置上的
sortname
参数为时已晚

您可以看到代码的修改版本。我更改了
mydata
数组中前几项的顺序,以更清楚地显示加载后数据将以未排序的顺序显示


我建议您从网格导航栏中删除“重新加载”按钮,或添加类似于“重新加载”按钮的按钮,然后执行您真正想要的操作。

对于jqGrid的4.6.0版,这对我很有用:

$('.s-ico').hide();

它几乎起作用了。我必须添加另一行代码才能正常工作:myGrid[0]。p.lastsort=-1。
$('.s-ico').hide();