En jqGrid, puede configurar el área scrollOffset para que siempre se muestre

Tengo un botón que se muestra en el área jqGrid scrollOffset como se ve en mi primera captura de pantalla. Pero notará en la segunda captura de pantalla cuando no hay suficientes resultados para llenar la cuadrícula, las barras de desplazamiento desaparecen y el área scrollOffset lo acompaña. ¿Hay alguna manera de engañar a jqGrid para que siempre muestre el área scrollOffset?

enter image description here

preguntado el 08 de noviembre de 11 a las 19:11

1 Respuestas

Si entiendo que está en lo correcto, puede incluir el siguiente CSS que forzará la creación de las barras de desplazamiento

<style type="text/css">
    .ui-jqgrid .ui-jqgrid-bdiv { overflow: scroll; }
</style>

ACTUALIZADO: Miré en tu demo de aquí. No me gusta su personalización de la barra de herramientas de búsqueda de jqGrid y los encabezados de columna porque agregar columna adicional en el encabezado de la cuadrícula, que no existen en el cuerpo de la cuadrícula y que jqGrid no conoce. Encuentro el camino demasiado peligroso.

Te recomendaria usar toppager: true parámetro en su lugar. En su código actual, usa "keyword-grid" como el identificador de la cuadrícula y "keyword-grid-toolbar" como el localizador. Si usaras toppager: true opción que no necesitarás <div id="keyword-grid-toolbar"> en absoluto. En lugar de eso, jqGrid creará el div para el localizador superior. La identificación de la cuadrícula se construirá a partir de la identificación de la cuadrícula y el texto "_toppager". En su caso, será el div con id = "keyword-grid_toppager".

Entonces deberías eliminar pager: "#keyword-grid-toolbar" parámetro de jqGrid y reemplazar '#keyword-grid-toolbar' a '#keyword-grid_toppager' para navGrid y navButtonAdd que utilizas.

Puedes leer aquí y aquí más información sobre el toppager.

Como resultado, no tendrá el mismo aspecto de jqGrid, por supuesto, pero la altura de la cuadrícula no cambiará y los botones de búsqueda y selección de columnas estarán en la parte superior y siempre estarán visibles. Entonces todos tus problemas principales estarán resueltos y tendrás estándar jqGrid.

ACTUALIZADO 2: Un enfoque más que puede seguir es agregar una columna al final de jqGrid y ocultarla por

{name: 'last', width: 22, sortable: false, resizable: false, search: false,
    cellattr: function () {return ' style="display: none"'} }

en lugar de típico hidden: true. Conservará algún lugar en el encabezado de la columna y en la barra de herramientas de búsqueda. Por lo tanto, podrá agregar algunos elementos personalizados sin romper la estructura general de la cuadrícula:

enter image description here

ver la demo aquí.

contestado el 23 de mayo de 17 a las 15:05

Lo siento, debí haber mencionado que ya intenté configurar el desbordamiento, muestra el área de desplazamiento pero no la muestra de la misma manera que cuando la cuadrícula está llena, por lo que el botón aún permanece oculto. - Sean Bannister

@SeanBannister: ¿Cambiaste? scrollOffset ¿parámetro? ¿Dónde y cómo colocó los botones sobre los que escribió? La demostración que se puede utilizar para reproducir su problema lo aclarará todo. - Oleg

Sí, configuré scrollOffset en 25 para que se ajuste al botón. Coloqué el botón usando una respuesta que en realidad me diste en stackoverflow.com/questions/8050880/… Tuve que hacer algunos otros cambios, pero funciona bien. Haré una demostración por la mañana para mostrarte cómo funciona. - Sean Bannister

@SeanBannister: ¿Tiene algún problema con los botones de la barra de navegación? De cualquier manera, después de preparar una demostración, se borrará todo. Creo que si pudiera reproducir su problema, podría encontrar una solución o una solución alternativa. Solo publícame un comentario cuando tengas la demostración lista. - Oleg

Perdón por la respuesta tardía, he subido un ejemplo en seanbannister.com/example y puede descargar el código en seanbannister.com/example/example.zip para que pueda probarlo con menos o más datos en la cuadrícula. Empiezo a pensar que no va a haber una solución sencilla y voy a necesitar escribir algo completamente personalizado. Me gusta mucho la posición de los botones para su usabilidad. Pero incluso en el ejemplo adjunto, he notado un nuevo error al cambiar el tamaño de la ventana del navegador porque estoy cambiando el tamaño de la cuadrícula de forma dinámica, los botones provocan una barra de desplazamiento horizontal. - Sean Bannister

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.