Бесплатный jqGrid 4.8.0 - проблема с autoresizeOnLoad

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

В моем случае сетка обернута макетом пользовательского интерфейса jQuery, поэтому можно поиграть с размером макета. Каждый раз, когда макет меняет свою ширину, я вызываю setGridSize, но как только сетка снова загружает данные, они сжимаются (или расширяются) за пределы макета до той же ширины, что и при запуске сетки.

Просто хотел убедиться в этом. Если только с моей стороны что-то не так. Блокируется ли autoresizeOnLoad по ширине, основанной на инициализированной ширине сетки?

Спасибо,

Таль


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


Ответы (1)


Надеюсь, я правильно понял ваш вопрос. Параметр autoresizeOnLoad: true следует за изменением размера всех столбцов, имеющих свойство autoResizable: true (и не имеющих свойства hidden: true или fixed: true) после loadComplete. Если вы хотите остановить автоматическое изменение размера, например, после явного вызова setGridSize, вы можете использовать setGridParam для изменения значения свойства autoResizable. Следующая перезагрузка сетки больше не будет автоматически изменять размер.

В качестве альтернативы вы можете использовать событие jqGridAfterLoadComplete для сброса ширины сетки после ее изменения на autoResizable: true. См. ответ или этот ответ и другие (например, это тоже) для примеров использования события jqGridAfterLoadComplete.

person Oleg    schedule 30.03.2015
comment
Спасибо, сегодня, если я нажму на столбец для автоматического изменения размера, он также выдвинет всю ширину сетки. Я хочу, чтобы изменение размера увеличивалось в пользу прокрутки - x сетки, а не изменяло размер самой сетки... кроме того, как мне использовать событие jqGridAfterLoadComplete? - person Tal; 30.03.2015
comment
@Tal: Добро пожаловать! Я думаю, что вы имеете в виду какой-то очень особый сценарий. Такие параметры, как autowidth, shrinkToFit, width и другие, могут изменить поведение изменения размера. Вы должны точно описать, что вы делаете (лучше всего будет демоверсия) и что вы хотите иметь. Между прочим, демонстрация показывает, как можно использовать изменение размера столбца в сценарии shrinkToFit: true (по умолчанию). Попробуйте сделать двойной щелчок в области изменения размера какого-либо столбца. - person Oleg; 30.03.2015
comment
Есть ли событие для autoResizable? Так что, когда пользователь дважды щелкает столбец для изменения размера, я могу добавить некоторую фиксацию к общему размеру сетки? Я попытался воссоздать свою проблему в jFiddle и потерпел неудачу, но у меня возникла проблема с использованием shrinkToFit, так как я перенес с 3.7.0 и не могу понять, почему. - person Tal; 30.03.2015
comment
См. здесь: stackoverflow .com/questions/29385548/ - person Tal; 01.04.2015