jqgrid实现冻结列

发布时间 2023-11-20 00:06:19作者: 易紫云

在jqgrid实现冻结列步骤如下:

1、设置冻结列属性:frozen: true;

2、将设置了冻结的列放在最前面(一定要注意);

3、调用jqgrid的 setFrozenColumns 方法,实现冻结

$(function () {
    gridList();
})

// 加载列表
function gridList() {
    var $gridList = $("#gridList");
    $gridList.dataGrid({
        //url: "/api/AccoRece/GetPage",
        height: $(window).height() - 100 - 35 - 10-35,
        colModel: [
            { label: "月份", name: "yearMonth", width: 100, align: 'left', frozen: true },
            { label: "客户编号", name: "custCode", width: 120, align: 'left', frozen: true },
            { label: "主键", name: "id", hidden: true, key: true },
            { label: "客户名称", name: "name", width: 200, align: 'left' },
            { label: "对接公司名称", name: "orgName", width: 200, align: 'left' },
            { label: "负责人员", name: "contracts", width: 100, align: 'left' },
            { label: "销售金额", name: "salesAmt", width: 100, align: 'left' },
            { label: "备注", name: "remark", width: 150, align: 'left' },
        ],
        shrinkToFit:false,
        sortorder: 'DESC',
        sortname: 'Id',
        rowNum:-1,
        viewrecords: true,
        footerrow: true,
    });

    $gridList.jqGrid('setFrozenColumns');

}

  注意事项:冻结列必须是放在最前面的,并且放在一起的。冻结列直接有一个隐藏列,也会导致隐藏列之后的冻结列失效。所以请将冻结列放在一起,并放置在最前面!