Как сделать высоту жидкости jqGrid?
Долгое время я искал ответ, как сделать высоту жидкости в jqGrid, но я до сих пор ее не нашел.
Итак, мне нужна высота жидкости.
Я знаю, как сделать ширину жидкости:
jQuery(window).resize(function(){
gridId = "grid";
gridParentWidth = $('#gbox_' + gridId).parent().width();
$('#' + gridId).jqGrid('setGridWidth',gridParentWidth);
})
Я пробовал с
gridParentHeight = $('#gbox_' + gridId).parent().height();
$('#' + gridId).jqGrid('setGridHeight',gridParentHeight);
но это не работает.
Есть ли решение?
2 ответа
Решение
Я нашел решение для моей проблемы. Вот код (работает в Firefox):
winHeight = window.innerHeight;
wHeight = winHeight - 90;
$("#grid").jqGrid('setGridHeight',wHeight);
jQuery(window).resize(function(){
gridId = "grid";
gridWidth = $('#gbox_' + gridId).parent().width();
$('#' + gridId).jqGrid('setGridWidth',gridWidth);
if(wHeight < 110){ //Height of five rows in grid is 110 pixels.
wHeight = 110;
$('#'+ gridId).jqGrid('setGridHeight',wHeight);
}
else {
$('#'+ gridId).jqGrid('setGridHeight',wHeight);
}
Я ценю, что это старая тема, но вот CSS (и, следовательно, более плавное) решение.
beforeRequest: function () {
setTimeout(function () {
var gridName = this.id;
$('#gbox_' + gridName).css({
position: 'absolute',
top: 0,
bottom: $('#gbox_' + gridName + ' .ui-pager-control').outerHeight() + 'px',
width: '100%',
height: '100%'
});
$('#gbox_' + gridName + ' .ui-jqgrid-view').css({ 'height': '100%' });
$('#gbox_' + gridName + ' .ui-jqgrid-bdiv').css({
position: 'absolute',
top: $('#gbox_' + gridName + ' .ui-jqgrid-titlebar').outerHeight() + $('#gbox_' + gridName + ' .ui-jqgrid-hbox').outerHeight() + 'px',
bottom: 0,
left: 0,
right: 0,
height: '',
width: ''
});
}, 100);
}
Пример этого в действии: http://jsfiddle.net/Ba5yK/16/