jqGrid 4.8.0 — Использование нового размера ширины

У меня есть сетка, и я также применил (autoResizable: true) к каждому столбцу. Теперь я не хочу, чтобы сама сетка уменьшалась/расширялась всякий раз, когда я дважды щелкаю, чтобы изменить размер столбца. Я хочу, чтобы сама сетка оставалась такой, какая она есть.

Я читал о setColWidth новой функции, но не смог ее использовать.

Пример будет отличным.

Также,

Есть ли изменения в реализации setGridWidth? У меня есть две сетки одна под другой, и кажется, что есть некоторый расчет ширины сетки ПОСЛЕ моего вызова:

Например, каждый раз, когда я выполняю следующее:

$(nameOfGrid).jqGrid('setGridWidth', $('.ui-layout-center').width() - 10, true);

После вышеуказанного вызова обе сетки действуют, но верхняя сетка немного короче нижней (или наоборот), поэтому мне интересно, есть ли ВНУТРИ setGridWidth какие-то вычисления, которые влияют на общее впечатление.


person Tal    schedule 15.03.2015    source источник


Ответы (1)


Вы написали: «Я не хочу, чтобы сама сетка сжималась/расширялась всякий раз, когда я дважды щелкаю, чтобы изменить размер столбца». С другой стороны вы написали: «Я также применил (autoResizable: true) к каждому столбцу». Свойство autoResizable: true в столбце означает не что иное, как то, что вы хотите, чтобы размер столбца изменялся автоматически, а двойной щелчок по изменению размера столбца изменит ширину столбца на оптимальное значение. Поэтому, если вы не хотите, чтобы какой-либо столбец автоматически увеличивался, вам следует удалить свойство autoResizable: true.

Еще один вариант, который есть в бесплатной версии jqGrid 4.8, — это использование обратного вызова resizeDblClick или события jqGridResizeDblClick, описанного в файле readme здесь. Например, вы можете использовать обратный вызов resizeDblClick, который возвращает false. Это предотвратит изменение размера столбца при двойном щелчке по изменению размера столбца. Варианты обратного вызова — iColIndex и cm, что позволяет сделать возвращаемое значение зависимым от столбцов.

Метод setColWidth изначально был представлен в ответе. Он содержит демонстрацию. Еще одна демонстрация использования метода как плагин опубликован на github. Такие же параметры есть у setColWidth бесплатной jqGrid 4.8, но реализация немного другая.

Последние проблемы с setGridWidth мне не совсем ясны. Я рекомендую вам всегда создавать короткую демонстрацию, которая воспроизводит проблему. В случае, если бы я мог очень быстро найти причину проблемы и мог бы предложить либо изменения вашего кода, либо я мог бы исправить ошибку в бесплатном jqGrid. Если вы просто описываете, что у вас есть демоверсия, которая работает некорректно, мне не поможете. В любом случае я бы посоветовал вам сохранить значение $('.ui-layout-center').width() в переменной и вызывать setGridWidth с одним и тем же значением для двух сеток, которые вы используете.

person Oleg    schedule 15.03.2015