Использование Drag'n'Resize jqGrid с расширением / свертыванием - PullRequest
0 голосов
/ 19 декабря 2011

Кнопка развернуть / свернуть не работает должным образом с jqGrid при использовании масштабируемой сетки с помощью мыши.

jqGrid оборачивается перетаскиваемым div, который устанавливает ширину / высоту сетки.Когда я сворачиваю сетку, она продолжает показывать div «resize», даже если сама сетка свернута.

У кого-нибудь есть предложения по этой проблеме?Даже у jqGrid Demo есть эта проблема.Проблема возникает только после первого изменения размера.Затем попытайтесь свернуть Сетка.

http://trirand.com/blog/jqgrid/jqgrid.html

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

1 Ответ

0 голосов
/ 19 декабря 2011

Таким образом, всякий раз, когда вы добавляете возможность изменять размер jqgrid, он фактически оборачивает сетку внутри сетки, которая генерируется после изменения размера вашей сетки.Jqgrid, кажется, статически устанавливает значения во встроенном CSS, что вызывает некоторые проблемы.

Что я сделал, чтобы исправить эту проблему, так это поиск кнопки, которая вызовет это событие.В случае с jqgrid есть тег с классом 'HeaderButton' (это кнопка в правом верхнем углу).Поэтому я использовал jQuery для нацеливания на событие «click», а затем изменил высоту div-оболочки «resize» на «auto».

По сути, я сделал это:

//This first line select an element with a class="HeaderButton"
$('.HeaderButton').click(function () {
//Find the ID of the div that jqgrid is creating and replace RESIZEGRIDID with appropriate name
      if ($('#RESIZEGRIDID "/>').attr('data-status') != 'hidden' || $('#RESIZEGRIDID ').attr('data-status') == undefined) {
      $('#RESIZEGRIDID "/>').attr('data-status', 'hidden');
      $('#RESIZEGRIDID "/>').css({ 'height': 'auto' });
      } else {
      $('#RESIZEGRIDID "/>').attr('data-status', 'active');
      $('#RESIZEGRIDID "/>').css({ 'height': 'auto' });
      }

Надеюсьэта помощь;)

...