Как заморозить динамический столбец в JqGrid? - PullRequest
0 голосов
/ 09 июня 2018

У меня есть что-то вроде этого: я хочу заморозить столбец Имя доктора, который является Динамическим.На самом деле, вся сетка является динамической.

  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");

здесь, столбец Имя доктора не останавливается.какие-либо предложения?Заранее спасибо!

1 Ответ

0 голосов
/ 09 июня 2018

Несколько замечаний, прежде чем ответить.

  1. Имя jqGrid в colModel не может содержать пробелов.В вашем случае он содержит пробелы
  2. После вызова метода setFrozenColumns вам не нужно запускать перезагрузку сетки.
  3. Наконец, но не в последнюю очередь, colModel не может быть динамически изменено.Для этого вам нужно будет уничтожить сетку и воссоздать ее с новым colModel

Замороженный столбец должен быть первым в массиве colModel, чтобы быть замороженным.В вашем коде не ясно, если это первый.Вы задаете первый столбец, но неизвестно, будет ли он впервые добавлен в colModel

...