0

我有这样的事情:我想冻结动态的医生姓名列。实际上,整个网格是动态的。

  if (result[7] != null) {
                        var resu = JSON.parse(result[7]);
                        if (resu.length > 0) {
                            {
                                ColModel = [];
                                var model = Object.keys(resu[0]);
                                for (var i = 0; i < model.length; i++) {
                                    var responColNM = "";
                                    if (model[i] == "Doctor Name") {
                                        responColNM = {
                                            name: model[0], index: model[0], label: model[0], width: 140, editable: false, sortable: false, frozen: true,
                                        }
                                    }
                                    else {
                                        responColNM = {
                                            name: model[i], index: model[i], label: model[i], width: 43, editable: false, sortable: false,
                                        }
                                    }
                                    ColModel.push(responColNM);
                                }
                            }
                        }
                        strNew = resu;
                    }
                    else {
                        //store in arr
                        //str = { DOCTORNAME: '', CNT: '', DT: '' };
                        //strNew.push(str);
                    }

 if (str == 1) {
                colnames = [];
                colmodel = ColModel;
                $("#gvtable").jqGrid('setGridParam', { data: response }).trigger("reloadGrid");
                $("#gvtable").jqGrid('setFrozenColumns').trigger("reloadGrid");

在这里,Doctor name 列不会冻结。有什么建议么?提前致谢!

4

1 回答 1

0

之前回答的一些笔记。

  1. colModel 中的 jqGrid 名称不能包含空格。在您的情况下,它包含空格
  2. 调用 setFrozenColumns 方法后,您不需要触发重新加载网格。
  3. 最后,但同样重要的是,colModel 不能动态更改。为此,您需要销毁网格并使用新的 colModel 重新创建它

冻结列应该是 colModel 数组中的第一个列才能被冻结。在您的代码中,不清楚它是否是第一个。你设置了第一列,但是不知道是不是先在colModel中添加的

于 2018-06-09T20:09:11.807 回答