0

很长一段时间我都在寻找如何在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);

但这不起作用。

有解决办法吗?

4

2 回答 2

1

我找到了解决我的问题的方法。这是代码(在 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);
}
于 2011-10-11T17:45:57.450 回答
0

我很欣赏这是一个旧线程 - 但这是一个 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/

于 2014-09-05T09:34:58.470 回答