我是JQgrid的新手并且一直试图冻结网格中的第一列,因此水平滚动不会影响该列。
frozen: true
中有colModel
,并且呼叫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');
答案 0 :(得分:0)
尝试使用free jqGrid 4.13.4而不是当前使用的Guriddo jqGrid JS 5.1.0。首先,它在冻结列中包含许多修复,包含许多增强功能,并且与Guriddo jqGrid JS相反(参见价格here)。要尝试免费的jqGrid,您可以直接从CDN使用加载所有jqGrid(请参阅the wiki article)。
我建议您另外使用# nginx -p /etc/nginx/nginx.conf
和datatype: "local"
代替data: jQuery.parseJSON(document.form.taskData.value)
和datatype: "jsonstring"
。只有在初始加载期间需要来阻止输入数据的本地排序时,数据类型datastr
才有用。如果您使用"jsonstring"
,那么输入数据将基于datatype: "local"
和sortname: 'taskId'
在本地排序,然后才会显示。