2010-10-29 19 views
13

Llego al siguiente problema después de this post.problema de superposición jqGrid

Después de cargar los datos, la superposición gris cubre todo en la página, pero los datos de la cuadrícula. El css div id responsable de eso es lui_list. ¿Alguna idea de como resolver esto?

Así es como me estoy quedando scirpt jqGrid:

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#list").jqGrid({ 
      url: '/Ticket/All/', 
      datatype: 'json', 
      mtype: 'GET', 
      colNames: ['Id', 'Hardware', 'Issue', 'IssueDetails', 'RequestedBy', 'AssignedTo', 'Priority', 'State'], 
      colModel: [ 
      { name: 'Id', index: 'Id', key: true, width: 100 }, 
      { name: 'Hardware', index: 'Hardware', width: 100 }, 
      { name: 'Issue', index: 'Issue', width: 200 }, 
      { name: 'IssueDetails', index: 'IssueDetails', width: 200 }, 
      { name: 'RequestedBy', index: 'RequestedBy', width: 150 }, 
      { name: 'AssignedTo', index: 'AssignedTo', width: 150 }, 
      { name: 'Priority', index: 'Priority', width: 100 }, 
      { name: 'State', index: 'State', width: 100}], 
      pager: jQuery('#pager'), 
      rowNum: 10, 
      rowList: [5, 10, 20, 50], 
      sortname: 'Id', 
      sortorder: "desc", 
      viewrecords: true, 
      imgpath: '/Content/images/', 
      caption: 'My first grid' 
     }); 
    }); 
</script> 

<h2>My Grid Data</h2> 
<table id="list"></table> 
<div id="pager"></div> 

y HTML de cabecera:

<link href="/Content/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css" /> 
<link href="/Content/ui.jgrid.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="/Scripts/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.5.custom.min.js"></script> 
<script type="text/javascript" src="/Scripts/grid.locale-en.js" ></script> 
<script type="text/javascript" src="/Scripts/jquery.jqGrid.min.js" ></script> 

se observará ninguna ayuda.

Respuesta

32

Has olvidado incluir el css-file-jqGrid específica! Después de incluir este archivo, se solucionó el problema.

+0

¡Gracias! Siempre son las cosas pequeñas ... – Benny

+0

Wow. Me siento estúpido por no ver eso. Gracias por la ayuda. – JasCav

+0

frickin a que era molesto. no utilizado para un archivo .css faltante que causa una superposición gris para aparecer. – Lee

10

No sé por qué la superposición se mantendrá exhibida después del final de la carga. Solo puedo suponer que utilizas algunas clases de CSS como "cargar" usadas también durante la carga de jqGrid. Independiente de la razón por la que puede solucionar el problema muy fácilmente. Usted sólo debe ocultar el div que corresponde con el siguiente código de ejemplo:

var grid_id = "list"; // jQuery("#list")[0].id; 
var hideLoading = function() { 
    jQuery("#lui_"+grid_id).hide(); 
    jQuery("#load_"+grid_id).hide(); 
} 

jQuery("#list").jqGrid({ 
    // all current options 
    loadComplete: function() { 
     hideLoading(); 
    }, 
    loadError: function() { 
     hideLoading(); 
    } 
}); 
+0

Hola Oleg. De nuevo, gracias por tu ayuda. Esto de hecho resuelve el problema. Voy a votar, pero espere marcando como respuesta; tal vez alguien más pueda encontrar un problema con la superposición que no se oculte automáticamente. – mlusiak

+0

@kMike Para mí, el problema con la superposición comenzó cuando actualicé desde jQuery 1.4.1 a 1.5.2. Estaba en la versión 3.6.4 de jqGrid y no tuve tiempo de cambiar a 4.0.0. La solución de Oleg funcionó para mí. – grahamesd

Cuestiones relacionadas