2011-08-09 18 views
33

Estoy tratando de decidir entre slickgrid y jqgrid. Creo que ambos son ricos en funciones. Jqgrid tiene una gran documentación, por lo que es fácil obtener & corriendo.SlickGrid Vs JQGrid

Estoy tratando de entender, cuán diferentes son, en cuanto a los detalles de implementación, ya que escuché que la grilla resbaladiza es mucho más rápida. Me preguntaba si alguien hizo alguna evaluación comparativa/conocer las partes internas de cada cuadrícula para proporcionar algunas aportaciones útiles.

Edit1: @oleg - Gracias por su respuesta. Lo siento, tenía miedo de no haber proporcionado suficientes detalles. Aunque no tengo todos los casos de uso, utilizaré los datos locales cuando los datos son pequeños y el desplazamiento virtual del lado del servidor, el filtrado, la ordenación, etc. cuando los datos son grandes. Json será el datasoure primario. Estaba tratando de obtener información de alguien que pueda entender los aspectos internos de ambas redes. No entiendo lo suficiente la implementación del lado del cliente como para juzgarlos yo mismo. Uno de mis colegas mencionó que la grilla resbaladiza podría ser mejor ya que fue desarrollada con renderizado virtual y soporte de teclado para estar con. Mi pregunta es de final abierto, pero la implementación central de la grilla podría hacerlo eficiente en los escenarios más complejos también, por ejemplo, sub-grids, trees, etc., si no hay una desviación del diseño central para manejar cualquiera de esos.

De acuerdo con su experiencia de jqgrid, ¿cómo respondería a este fragmento de Slick Grid?

"rejilla vs datos La diferencia clave es entre SlickGrid y otra aplicación rejilla que he visto es que se centran demasiado en ser capaz de entender y trabajar con datos (buscar, clasificar, analizar sintácticamente, carga ajax, etc. .) y no lo suficiente como para ser una mejor "cuadrícula" (o, en el caso de cuadrículas editables, una hoja de cálculo). Es genial si todo lo que quieres hacer es "arreglar" una TABLA HTML o dar un toque frontal a una lista simple , pero demasiado inflexible para cualquier otra cosa. La información es complicada. Tiene reglas comerciales. Tiene propiedades no intrínsecas. Editar una propiedad de un elemento puede llevar a cambios en cascada modificando otras propiedades o incluso otros elementos. Tiene dependencias. Estoy diciendo que es mejor lidiar con los datos al desarrollador que usa el control de la red l. Intentar encajar todo eso en la implementación de la grilla y la API solo limitará su aplicabilidad y aumentará la hinchazón considerable. SlickGrid tiene un enfoque diferente. En el escenario más simple, accede a los datos a través de una interfaz de matriz (es decir, usa "dataitem" para llegar a un elemento en una posición determinada y "data.length" para determinar el número de elementos), pero la API está estructurada de tal manera que es muy fácil hacer que la grilla reaccione ante cualquier posible cambio en los datos subyacentes. "

Edición 2: de fragmentos de Datatables forum post:" * DataTables es tratar de arreglar una tabla HTML. Esto se puede ver, por ejemplo, mediante el uso de la etiqueta TABLE por DataTables, mientras que SlickGrid usa elementos DIV para crear una pantalla que se parece a una tabla. Como tal, hay una serie de técnicas, como la representación virtual, que se puede utilizar con los DIV, pero no con una tabla. No es posible representar las filas 100-110 y no las 100 primeras en una tabla, pero no es un problema con los DIV, por lo que me temo que esto no es aplicable en este momento. ¿Qué tendría que hacer es convertir tablas de datos para el uso de una etiqueta de marcado DIV, pero luego se suelta el objetivo principal de tablas de datos, que es centrarse en la mejora progresiva y la accesibilidad. *"

Gracias

Respuesta

30

Miré jqGrid y SlickGrid y encontró que SlickGrid es mucho más elegante escrito; se necesita menos configuración para la mayoría de los casos de uso de SlickGrid; jqGrid, sin embargo, necesita menos configuración para configurar los casos más complejos (como el desplazamiento virtual);

jqGrid puede tener una mejor documentación, pero la parte de conexión del lado del servidor para jqGrid está cubierta por una oferta comercial y la documentación en esta parte es más difícil de obtener que para el lado del cliente.

SlickGrid, por otro lado, tiene algunos excelentes ejemplos que cubren la mayoría de los casos de uso y la fuente está llena de comentarios y es accesible para cualquier persona con algún conocimiento intermedio de javascript y jquery.

+0

Consulte Edición 2 en la publicación original para obtener más información útil. – StudentForever

+0

Para un uso básico, jqGrid es más simple y tiene más funcionalidad (por ejemplo, arreglar fila y columna). Por otro lado, jgGrid se representa como tabla, lo que significa que obtienes los problemas de rendimiento habituales en InternetExploder (cualquier versión) comenzando entre 20 y 50 filas (según la versión de IE y las especificaciones de la computadora). Por lo tanto, SlickGrid es la única opción viable. Porque también puede obtener la funcionalidad avanzada de jqGrid en slickgrid, a través de trabajo adicional. En pocas palabras: ambos no son realmente buenos, pero SlickGrid es mucho menos grave, y todas las otras opciones (que yo sepa) son aún peores. –

+0

Eche un vistazo a la comparación de la biblioteca de hojas de cálculo de JavaScript en http://jspreadsheets.com/; Parece que clusterize es una buena opción nueva, especialmente cuando no quieres jQuery. Y handsontable parece que se ha convertido en una opción viable para este tipo de cosas, también. –

18

qué idioma es más difícil de estudiar: chino, finlandés o el idioma de algunas pequeñas personas de Indiana?

Las preguntas de comparación siempre son demasiado difíciles. Tienes que tener personas que realmente buenas conozcan todos los productos que quieras comparar. Además, debe definir qué parte del producto planea usar en este momento y cuál podría ser importante en el futuro. ¿Utiliza datos JSON o XML para la entrada de la cuadrícula o utiliza datos locales de JavaScript? ¿Necesita usar una grilla o cuadrícula estándar con subgrids, treegrid o una grilla con agrupamiento?

Antes de no definir más claramente el área de uso de la cuadrícula, no recibirá una buena respuesta. Al final, en algún momento podría ser importante saber qué tipo de información tiene actualmente y qué documentación o ejemplos puede comprender y usar fácilmente. La experiencia de otras personas que puede usar podría ser más importante que las características del producto. Si nos fijamos en el número de preguntas sobre el stackoverflow.com con las etiquetas "jqgrid" y con la etiqueta "slickgrid" se puede ver en qué producto podría ayudarle a Stackoverflow

27

haber usado tanto jqGrid & slickgrid en la producción/ira, aquí están mis 2 centavos:. jqGrid era muy fácil para empezar con y el gancho en Sin embargo rápidamente nos encontramos rejilla contra tener que adaptarse a lo que queríamos en forma jqGrids de hacer cosas. También descubrimos que las capacidades de edición eran difíciles de implementar y (desde la memoria, esto fue hace un año) lo forzaron a ingresar a un modelo de edición de filas, en lugar de a una edición de celda que no funcionó bien.

Con una grilla resbaladiza, todavía tenemos que presionar una característica que faltaba/no podíamos conectar fácilmente. La documentación era bastante inexistente, pero ahora es mucho mejor (https://github.com/mleibman/SlickGrid/wiki/_pages), pero hasta la fecha acabamos de saltar a la fuente. Tengo que decir que la API es una de las mejores que he visto, y el rendimiento con grandes volúmenes de datos y editores complejos ha sido excelente (algunos problemas en ie7 pero nunca han sido aislados de la cuadrícula versus nuestros frameworks MVC &)

Con todo, recomiendo encarecidamente grilla

2

Estoy de acuerdo con @ user175528. También hemos utilizado la grilla extensamente en nuestra aplicación y sus formateadores, editores y validadores integrados son realmente fáciles de usar y también es fácil de escribir.

Maneja bien grandes conjuntos de datos (y facilita la búsqueda a través de ellos). Además, es fácil de configurar y paginación.

Inicialmente, cuando comencé a usar Slickgrid, lo envolví en otro widget para poder cambiar a otro proveedor si fuera necesario, pero a partir de ahora, parece funcionar sin problemas.

Todavía no he llegado a eso, pero presentaré algunos buenos ejemplos de SlickGrid en mi blog.