JqGrid-冻结列
我读了所有关于冻结专栏的帖子。但我仍然无法解决我的问题 当我调用setFrozenColumns时,我的列已冻结,但与另一列标题一起添加到网格中。因此,列标题比列标题多一个。如何解决这个问题。下面是我对代码的概述JqGrid-冻结列,jqgrid,Jqgrid,我读了所有关于冻结专栏的帖子。但我仍然无法解决我的问题 当我调用setFrozenColumns时,我的列已冻结,但与另一列标题一起添加到网格中。因此,列标题比列标题多一个。如何解决这个问题。下面是我对代码的概述 makeJqueryGridInstance(grid, gridSettings); window.prepareSortableColumns(grid); makefrozenColumns(grid); function makeFrozenColumn( grid )
makeJqueryGridInstance(grid, gridSettings);
window.prepareSortableColumns(grid);
makefrozenColumns(grid);
function makeFrozenColumn( grid )
{
var colmodel = grid.jqGrid('getGridParam', 'colModel');
if (colmodel[0].name === 'cb')
{
grid.jqGrid('setColProp', colmodel[0].name, { frozen: true });
grid.jqGrid('setFrozenColumns');
fixPositionsOfFrozenDivs.call(grid[0]);
}
}
function prepareSortableColumns(grid)
{
var gridSettings = grid.data('settings');
var gridId = gridSettings.gridId;
var columnHeaders = $("#" + "gview_" + gridId.replace("#", "")).find(".ui-jqgrid-htable > thead > tr > th");
var colModel = grid[0].p.colModel;
$.each(columnHeaders, function (index, columnHeader)
{
if (colModel[index].sortable == false)
{
$(columnHeader).find("div").removeClass("ui-jqgrid-sortable");
}
});
}
这是第一次,它工作良好,色谱柱冻结
但是第二次调用prepareSortableColumnsgrid时,columnHeader比我通过devTools调试的colModel多了一个。所以我得到了一个错误,因为特定的列头排序表是未定义的
有人能帮我吗。提前感谢。prepareSortableColumns的代码似乎有误。在使用冻结柱的情况下,它不以DELVE为导向。有关更多详细信息,请参阅,并使用开发人员工具检查网格的结构。您可以尝试使用grid[0].grid.headers数组,而不是像这样选择columnHeaders
此外,删除ui jqgrid可排序类通常是错误的。该类的含义经常会因为名称而被误解。不可排序的列也必须具有类。您需要做的是在标题上设置CSS样式cursor:default。有关相应的代码示例,请参见