在我们的网格中,我们没有定义sortName
或sortOrder
,但第一列显示了排序图标(按ASC顺序)。如何防止出现排序图标?
更新:以下代码
$("#list").jqGrid({
url:'NoData.json',
datatype: 'json',
mtype: 'GET',
colNames:['Product', 'Type','Expiry', 'Put Call', 'Strike', 'Account','Long','Short', 'Open Qty', 'LTD', 'Operations'],
colModel :[
{name:'product', index:'product', width:75},
{name:'type', index:'type', width:50, align:'right'},
{name:'expiry', index:'expiry', width:60, align:'right'},
{name:'putCall', index:'putCall', width:65},
{name:'strike', index:'strike', sorttype: 'float', width:70},
{name:'account', index:'account', width:70},
{name:'long', index:'long', sorttype: 'int', width:55, align:'right'},
{name:'short', index:'short', sorttype: 'int', width:55, align:'right'},
{name: 'openQty', index:'openQty', width:80, align:'center', sortable:false, search:false, formatter:closeoutFormatter},
{name:'LTD', index:'LTD', width:65, align:'right'},
{index:'operations', width:105, title:false, search:false, align: 'center', formatter:opsFormatter, sortable:false}
],
onPaging: function (b) {
var nextPg = $("#list").getGridParam("page");
if (dirty == 'false') {
currPg = nextPg;
return;
}
$( "#dialog-confirm" ).dialog({
resizable: false,
height:160,
modal: true,
buttons: {
"Stay on current page": function() {
$( this ).dialog( "close" );
},
"Change page": function() {
$( this ).dialog( "close" );
reloadGrid($("#list"), null, nextPg, 'false');
}
}
});
$("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)
return 'stop';
},
pager: '#pager',
scrollOffset:0, //No scrollbar
rowNum:15,
width:'100%',
viewrecords: true ,
caption: 'Positions',
height: '360',
hidegrid: false //Don't show the expand/collapse button on the top right
}).navGrid("#pager",{edit:false,add:false,del:false,
beforeRefresh: function(){
reloadGrid($("#list"), null, 1, 'true'); //Required so that we go to the server and not reload local data
}
});
答案 0 :(得分:2)
我修改了您已经知道的代码示例,并评论了sortname
和sortorder
。现在我们有一个网格,其中显示没有显示排序图标。看看here。您也可以使用sortname:id
作为另一个选项,并获得相同的结果。因此,如果网格的行为是另一个:发布代码示例。
更新:发布示例后,一切都很清楚。我在我喜欢的所有网格中使用rownumbers:true
。如果您将选项rownumbers:true
添加到网格,则会在第一列的标题上看不到排序图标。如果您不需要行号列,可以使用
$("#list").jqGrid("hideCol", "rn");
隐藏它。因此,您将拥有与没有rownumbers:true
完全相同的网格,但也不会在第一列的标题上排序图标。
更新:the answer中介绍了另一种解决方法和错误修复。
答案 1 :(得分:0)
为该列的模型配置添加sortable:false。
答案 2 :(得分:0)
虽然这是一个较老的问题。但有一个技巧可以解决上述问题。只需添加第一列"hidden:true"
即可。如果没有sortOrder和sortname,则在jqgrid属性中设置此工作。如果已将sortOrder设置为sortName,则将其设置为隐藏的任何列名称。因此默认情况下不会显示排序箭头。
希望这对jqgrid有用。感谢。