jqGrid и опция автоматической ширины. Как это работает? - PullRequest
22 голосов
/ 11 октября 2010

Я использую jqGrid с опцией autowidth, установленной на true.

В соответствии с документацией :

Когда установлено значение true,ширина сетки автоматически пересчитывается в ширину родительского элемента.Это делается только изначально, когда сетка создана.Чтобы изменить размер сетки, когда родительский элемент меняет ширину, вы должны применить пользовательский код и использовать для этой цели метод setGridWidth

Это позволяет сетке занимать всю ширину, доступную в родительском элементе.Еще один эффект этого свойства заключается в том, что каждый столбец сжимается в соответствии с доступной шириной.

Это работает очень хорошо.Тем не менее, у меня есть одна страница, где не нужно, чтобы столбцы сжимались до ширины сетки, но они должны занимать пространство, которое я для них установил в пределах colModel.

Как мне этого добиться?

Ответы [ 2 ]

25 голосов
/ 04 ноября 2010

Решение: shrinkToFit: false

10 голосов
/ 15 мая 2013

set

autowidth = true, shrinkToFit = false

эта настройка сделает ширину фрейма jqgrid равной родительскому элементу (обычно равнаширина браузера);и ширина столбца равна ширине, определенной в colModel;unfornatelly jqgrid 4.3 не дает простого способа, устанавливая свойство для автоматического подгонки / изменения размера столбца ширина в зависимости от ширины содержимого (текст в ячейке);

по умолчанию в jqgrid:

autowidth = false, shrinkToFit = true

см. три свойства параметров jqgrid в параметр jqgridwiki ;

автоширина

shrinkToFit

ширина

и свойство colModel в jqgrid colModel wiki

ширина

исправлено

Я думаю, что приоритет для ширины кадра jqgrid равен * автопропускание кадра jqgrid> ширина кадра jqgrid> суммаширины столбца *

приоритет для ширины столбца составляет фиксированная colmodel> jqgrid frame shrinkToFit> colmodel width

...