JQgrid freezecol列不冻结标题

JQgrid FreezeColumn not freezing headers?

本文关键字:冻结 标题 freezecol JQgrid      更新时间:2023-09-26

我是JQgrid的新手,一直在尝试冻结网格中的第一列,以便水平滚动不会影响该列。

我在colModel中有frozen: true,同时调用Jquery("#grid").jqGrid('setFrozenColumns');

这正确地冻结了列DATA,但是当我向右滚动时,列标题也随之滚动。我怎样才能冻结标题呢?

非常感谢!

示例代码:

jQuery("#taskGrid").jqGrid({
datatype: "jsonstring",
colNames:['task ID','TASK Name', 'ROLE Info'],
colModel:[
    {name:'taskId',index:'taskId', width:100, frozen: true},
    {name:'taskName',index:'taskName', width:200},
    {name: 'roleInfo.1', index: 'roleInfo.1', width:100, formatter: 'checkbox' }
],
jsonReader: {repeatitems: false},
datastr: JSON.parse(document.form.taskData.value),
rowNum:50,
pager: '#pager2',
sortname: 'taskId',
viewrecords: true,
sortorder: "desc",
caption:"JSON Example",
height: "750", 
width: "350",
shrinkToFit: false
});jQuery("#taskGrid").jqGrid('setFrozenColumns');

尝试使用free jqGrid 4.13.4而不是你目前使用的Guriddo jqGrid JS 5.1.0。首先,它包含了许多冻结列的修复,包含了许多增强功能,并且它是免费的,与Guriddo jqGrid JS相反(查看这里的价格)。要尝试免费jqGrid,您可以使用直接从CDN加载所有jqGrid(请参阅wiki文章)。

我建议您另外使用datatype: "local"data: jQuery.parseJSON(document.form.taskData.value),而不是datatype: "jsonstring"datastr。数据类型"jsonstring"只适用于需要防止在初始加载期间对输入数据进行本地排序的情况。如果您使用datatype: "local",则输入数据将在显示之前根据sortname: 'taskId'sortorder: "desc"在本地排序。