Cuando yo uso $('#mygrid').jqGrid('GridUnload'); mi red es destruido: no pager/sin cabecera.

En una wiki que he encontrado:

La única diferencia al método anterior es que la cuadrícula es destruido, pero el
elemento de la tabla, y buscapersonas (si alguno) se queda listo para ser utilizado de nuevo.

No puedo encontrar ninguna diferencia entre GridUnload/GridDestroy o hago algo mal?

Yo uso jqGrid 3.8.

InformationsquelleAutor Scharlotte | 2011-02-07

3 Comentarios

  1. 58

    A ser capaz de crear jqGrid en la página que tiene que inserte un vacío <table> elemento en el lugar de la página donde desea ver la cuadrícula. El ejemplo más simple de la tabla es el elemento <table id="mygrid"></table>.

    El vacío <table> elemento en sí será no se ve en la página hasta que llame a $('#mygrid').jqGrid({...}) y la cuadrícula de elementos como encabezados de columna será creado.

    El método GridDestroy funciona como jQuery.quitar. Es elimina todos los elementos que pertenecen a la red inclusve la <table> elemento.

    El método GridUnload por otro lado eliminar todo, pero la vacío <table> elemento permanecer en la página. Así que usted es capaz de crear nuevas cuadrícula en el mismo lugar. El método GridUnload es muy útil si usted necesita crear en un solo lugar diferentes coordenadas dependen de diferentes condiciones. Mira la vieja respuesta con la demo. La demo muestra cómo dos redes diferentes puede crear dinámicamente en el mismo lugar. Si usted se acaba de reemplazar GridUnload en el código para GridDestroy la demo va a ser que no funcione: después de la destrucción de la primera cuadrícula ningún otro rejillas serán creados en el mismo lugar.

    • Una pregunta más: ¿hay que esperar a/pausa/tiempo de espera de funktion, hasta que un php-script ha hecho su trabajo ( en mi script de creación de un pdf y hacer algo de mysql-consultas). el .retraso (de jquery) parecen no funcionar. Cualquier idea und VIELEN VIELEN DANK (para la comunidad:Oleg habla alemán;-)
    • Gracias Oleg nuevo! Mi problema es que el jqgrid ist más rápido que el php-Skript quiero retrasar la ejecución de la createmygrid() funktion como en tu ejemplo.
    • funcionó a la perfección gracias
    • Usted es bienvenido!
    • por Favor ayuda con esto.stackoverflow.com/questions/19908551/…
    • En la más reciente versión de este ya no funciona. El uso de esta para descargar el jqGrid: $.jgrid.gridUnload(‘#lista’);
    • en la versión más reciente de que producto? «jqGrid» no existen. La última versión de jqGrid fue de 4.7. Tony Tomov cambios en el acuerdo de licencia, el nombre de que el producto «Guriddo jqGrid» (ver post) y comercial (ver precios aquí). Poco tiempo después de que empecé a horquilla de jqGrid 4.7 (última versión de jqGrid) y publicar en GitHub bajo el nombre de «libre jqGrid». La versión actual de libre jqGrid es 4.14.0. Libre de jqGrid permite $(«#lista»).jqGrid(«GridUnload»)

  2. 7

    Además de Oleg respuesta me gustaría señalar que GridUnload hace un poco más de que se acaba de quitar la cuadrícula de la tabla. Quita el HTML original elemento de la tabla(y el buscapersonas), y los anuncios de uno idéntico en su lugar(al menos en 4.5.4 lo hace).

    Esto significa que si usted adjunta algunos controladores de eventos para el código HTML de la tabla el elemento i.e con jquery, como (‘#gridID’).en(‘event’,’selector’,handler)) también serán eliminados. Consiquently los eventos no aparecerá en la nueva cuadrícula si reemplazar a la antigua red con una nueva…

  3. 1

    Oleg respuesta funciona muy bien para mí mientras yo no tengo encabezados de Grupo.

    Cuando puedo añadir fila de encabezado de grupo con ‘setGroupHeaders’

    los resultados de un ‘GridUnload’ seguido por un $(‘#mygrid’).jqGrid({…}) no son consistentes.

    Funciona bien en Chrome pero no en IE11.

    En IE11, cada ‘jqg-tercera fila de encabezado de’ elemento termina prestados en diferentes filas (en diagonal).

    Estoy usando free-jqGrid:query.jqgrid.src.js versión 4.13.4 para la depuración.
    He seguido el problema de código, en este archivo, que comienza con la línea 9936:

    if (o.useColSpanStyle) {
        //Increase the height of resizing span of visible headers
        $htable.find("span.ui-jqgrid-resize").each(function () {
            var $parent = $(this).parent();
            if ($parent.is(":visible")) {
                this.style.cssText = "height:" + $parent.height() + "px !important; cursor:col-resize;";
                //this.style.cssText = "height:" + $parent.css('line-height'); + "px !important;cursor:col-resize;";
            }
        });
        //Set position of the sortable div (the main lable)
        //with the column header text to the middle of the cell.
        //One should not do this for hidden headers.
        $htable.find(".ui-th-column>div").each(function () {
            var $ts = $(this), $parent = $ts.parent();
            if ($parent.is(":visible") && $parent.is(":has(span.ui-jqgrid-resize)") && !($ts.hasClass("ui-jqgrid-rotate") || $ts.hasClass("ui-jqgrid-rotateOldIE"))) {
                //!!! it seems be wrong now
                $ts.css("top", ($parent.height() - $ts.outerHeight(true)) / 2 + "px");
                //$ts.css("top", ($parent.css('line-height') - $ts.css('line-height')) /2 + "px");
            }
         });
    }
    $(ts).triggerHandler("jqGridAfterSetGroupHeaders");
    });

    Este código establece la altura y la parte superior de los valores de css relacionadas con cada uno de los ‘jqg-tercera fila de encabezado de’ elemento. Esto conduce a una altura y diseño diagonal de la ‘jqg-tercera fila de encabezado’


    Error Potencial:.

    El $de los padres.altura() y $ts.la altura (a) los métodos, por encima, el regreso de la ex jqGrid la altura de la mesa en IE11. En Chrome regresan de la ‘th’ calcula la altura(top = 0).
    He añadido y probado las 2 líneas de comentarios que el uso de la línea-altura.
    IE11 funciona bien cuando la línea-altura se utiliza.
    No comprendo el JqGrid cambiar el tamaño de la lógica, así que esto no puede ser una solución.

    Solución Alternativa:

    Si usted especifique.

     colModel: 
         {
         label: 'D',
         name: 'W',
         width: 6,
         align: 'center',
         resizable:false  //required for IE11 multiple calls to this init()
         },

    Cuando redimensionable es falsa ya que el código anterior no es encontrado y de la altura y la parte superior no están establecidos.

    Oleg jqGrid es un muy buen control. Tal vez él puede probar su demo de cuadrícula con un encabezado en IE11.

Dejar respuesta

Please enter your comment!
Please enter your name here