Я использую плагин расположения jQuery и jqGrid плагин в одном из моих проектов, и они работают отлично за исключением небольшой проблемы...
Я хочу, чтобы jqGrid заполнил полностью область (область расположения jQuery), который содержит его. Изменение размеров области должно изменить размер jqGrid, закрытие области должно скрыть jqGrid, и т.д., и т.д.
И jqGrid и Расположение jQuery обеспечивают обратные вызовы, но когда я использую их, макет страницы повреждается ужасно.
У кого-либо есть опыт, смешивающийся jqGrid с Расположением jQuery?
Я рекомендую вам прочитать resize-jqgrid-when- browser-is-resized , в котором обсуждаются несколько методов изменения размера вашей сетки.
Это мое текущее решение:
Сначала создайте функцию изменения размера, которая вызывается событием 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 в любую панель вашего макета, и они будут изменены, чтобы соответствовать панели, в которой она находится, когда изменяется размер центральной панели.