Заставьте jqGrid заполнить свой контейнер

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

Я хочу, чтобы jqGrid заполнил полностью область (область расположения jQuery), который содержит его. Изменение размеров области должно изменить размер jqGrid, закрытие области должно скрыть jqGrid, и т.д., и т.д.

И jqGrid и Расположение jQuery обеспечивают обратные вызовы, но когда я использую их, макет страницы повреждается ужасно.

У кого-либо есть опыт, смешивающийся jqGrid с Расположением jQuery?

  1. http://www.secondpersonplural.ca/jqgriddocs/index.htm
  2. http://layout.jquery-dev.net/

8
задан Igor 4 February 2015 в 15:48
поделиться

2 ответа

Я рекомендую вам прочитать resize-jqgrid-when- browser-is-resized , в котором обсуждаются несколько методов изменения размера вашей сетки.

6
ответ дан 5 December 2019 в 17:35
поделиться

Это мое текущее решение:

Сначала создайте функцию изменения размера, которая вызывается событием onresize:

function resizeGrid(pane, $Pane, paneState) {
  if(grid = $('.ui-jqgrid-btable:visible')) {
    grid.each(function(index) {
      var gridId = $(this).attr('id');
      $('#' + gridId).setGridWidth(paneState.innerWidth - 2);
    });
  }
}

Затем в вашем макете мы настраиваем событие изменения размера для вызова этого метода:

$('#mylayout_id').layout({
  center: {
    closable: false,
    resizable: false,
    slidable: false,
    onresize: resizeGrid,
    triggerEventsOnLoad: true  // resize the grin on load also
  },
  west: {
    fxName: "slide",
    size:    250,
    maxSize: 300
  },
  east: {
    fxName: "slide",
    size:    250,
    maxSize: 300
  }
});

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

  1. http://groups.google.com/group/jquery-ui-layout/browse_thread/thread/4a7c6b09206045f2
  2. http://www.secondpersonplural.ca/jqgriddocs/index.htm
  3. http: / /layout.jquery-dev.net/documentation.cfm
2
ответ дан 5 December 2019 в 17:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: