SlickGrid - aplicando getItemMetadata haciendo que la fila pierda su id
Frecuentes
Visto 5,090 veces
0
Tengo el siguiente problema:
>>>>>>> Enlace a una demostración de JsFiddle >>>>>>
He usado el ejemplo de colapsoy agregó el método getItemMetadata.
dataView.getItemMetadata = function (row) {
var thtId = data[row].id;
if (data[thtId + 1] && data[thtId + 1].indent > data[thtId].indent) {
return { 'cssClasses': 'parentClassName' }
}
};
Esto funciona bien hasta que intento colapsar y expandir mis filas. Entonces recibo el siguiente error (solo al expandir):
Error de tipo no detectado: no se puede leer la propiedad 'id' de indefinido
Según mi experiencia, este error se acumula cuando dataView pierde las propiedades de los niños. Investigué más y vi que el código caía en el appendRowHtml función (slick.grid.js#1217).
¿Alguien tiene experiencia con la función de colapso y getItemMetadata?
¡Gracias!
1 Respuestas
1
Solución en manos de @Tin, creador de SlickGrid
La excepción ocurre en "var thtId = data[row].id", donde "row" está fuera de los límites. Debe verificar si "datos [fila]" existe antes de acceder a la propiedad "id". La cuadrícula solicita metadatos para una fila inexistente, lo que podría interpretarse como un error, pero aún así es útil poder personalizar la última fila vacía (la que se usa para agregar nuevas entradas), por lo que tiene sentido .
https://groups.google.com/forum/#!topic/slickgrid/65vPmzXsLMQ
Respondido el 12 de junio de 12 a las 21:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript slickgrid or haz tu propia pregunta.