2011-05-05 33 views

Respuesta

29

yo recomendaría usted para establecer "max-height" propiedad en el bdiv de jqGrid y utilizar height:'100%' o height:'auto':

$("#list").parents('div.ui-jqgrid-bdiv').css("max-height","300px"); 

La propiedad "max-height" habrá not used by IE6, pero los navegadores web más reciente aparecerá usarlo

ACTUALIZADO: jqGrid gratis introduce en la versión 4.10.0 nueva propiedad: maxHeight que hacen exactamente lo mismo que el anterior. Por lo tanto, uno puede simplemente usar maxHeight: 300 en lugar de la configuración manual de max-height del padre div.ui-jqgrid-bdiv.

+0

todas las sugerencias anteriores, pero todavía no ha funcionado ... ... también necesito una solución que funcione en IE6 también. – Dieter

+0

¿En qué navegador web probaste exactamente y no funcionó? Te recomiendo ** no admitir IE6 ** si es posible. Quiero decir que la cuadrícula será buena (pero no perfecta) en IE6 porque simplemente ignorará la propiedad de CSS.Si necesita establecer la altura de IE6, tendrá que establecer grillas ** height ** dentro de 'loadComplete'. Puede usar los métodos 'getGridHeight' y' setGridHeight'. – Oleg

+0

No existe nada como getGridHeight ... Supongo que se refería a getGridParam ("height") ... pero al usarlo junto con loadComplete o gridComplete, no devuelve una altura en píxeles; en su lugar, devuelve "auto" ... y para responder a la pregunta formulada primero :) Lo estoy probando en IE9 ... – Dieter

0

Añadir este:

var height = $(window).height(); 
$('.ui-jqgrid-bdiv').height(height); 

después jqGrid de carga de la página deseada, esto funcionó para mí.

12

probar esto

jQuery("#yourid").jqGrid({ 
    ........ 
    height:'auto' 
}); 
+0

Gran solución ... :) –

0

probar estos métodos

1.Define una altura interior de la rejilla

     $("#griname").jqGrid(
           { 
            rowNum : 1000, 
            viewrecords : true, 
            gridview : true, 
            autoencode : true, 
            loadonce : true, 
            width: "100%", 
            height: 300, 
          }); 

2. Esta función se puede utilizar para mantener la altura fija a un valor predefinido.

$(window).resize(function() { 

if (typeof($gridname) !== 'undefined' && $("#gridname").length > 0) { 
    $discrepanciesResultGrid.setGridHeight(
     $(window).height() - $("#gridname").position().top - 210 
    ); 
    $gridname.setGridWidth($("body").width() - $("#anothercomponenetname").width() - 50); 
    } 
0

Prueba este

$("#list1").parents(".ui-jqgrid-bdiv").css('height', jQuery("#list1").css('height')); 

Este código se ajuste la altura de la rejilla de acuerdo con el número de filas en una cuadrícula

0

Nuestra persona de la interfaz de usuario resuelve el problema (ampliar la lista hasta 300px, si hay más de 10 archivos adjuntos, muestra una barra de desplazamiento vertical) con css

#gview_list_Attachments .ui-jqgrid-bdiv{ 
    max-height: 300px; 
    overflow-y: visible; 
} 

300px tiene una altura de 10 elementos en nuestro caso. Por supuesto, usando jquery puede determinar la altura de 1 elemento y multiplicar por 10. Pero esta solución fue rápida, simple y resolvió nuestro problema.

1
.ui-jqgrid-view { 
    max-height: 642px; 
} 
.ui-jqgrid-bdiv { 
    overflow-y: scroll !important; 
    max-height: 600px !important; 
} 

este trabajo en mi jqGrid

Cuestiones relacionadas