Pregunta

¿Alguien ha visto cómo fogbugz ordena sus mesas? Cuando hace clic para ordenar la columna, en realidad dividen la tabla en muchas tablas pequeñas que tienen cada categoría de información.

¿Te preguntas si alguien sabe cómo hacen esto?

Buscando implementar esta característica.

Si echa un vistazo a la página de casos, y ordena, puede ver lo que quiero decir.

¡Cualquier ayuda sería IMPRESIONANTE!

Todavía no he descubierto esto.

EDITAR: @Peter, no quiero devolver y volver a crear una tabla cada vez que se hace clic en el título del encabezado para ordenar. También quiero saber si existe una solución genérica para esto. Si hago clic en el encabezado para ordenar, por medio de javascript, se separa el " one " tabla en muchos y quiero saber si existe una solución genérica para esto porque es una manera MUCHO mejor de ver una tabla ordenada.

EDITAR: necesito un clasificador de JavaScript, pero si miras directamente la implementación de fogbugz, produce un resultado diferente ...

¿Fue útil?

Solución

Sí, Rich lo entendió (codifiqué esta función en FogBugz hace mucho tiempo).

Si tiene que hacer esto en el cliente, no tiene más remedio que ordenar los datos, iterar generando fila de tabla tras fila de tabla, y cada vez que golpea un nuevo valor de clasificación, crea un nuevo punto con el apropiado información.

Para ser sincero, sería una modificación genial para este complemento jQuery: http://tablesorter.com/docs/ y podrá aprovechar un lote de su trabajo. Si va a dedicar tiempo y crear una solución general, también podría hacerlo accesible para la comunidad.

Otros consejos

Sin saber específicamente cómo Fog Creek logra esto, la forma en que lo haría sería generar un encabezado de tabla, luego iterar a través de la lista, generando un pie de página y un nuevo encabezado cada vez que el valor del grupo cambiara.

No estoy seguro de qué respuesta espera. La consulta SQL para esto simplemente usaría el orden en la columna seleccionada, y la interfaz de usuario comenzaría una nueva tabla cada vez que este valor cambie.

Aquí hay una captura de pantalla de FogBugz con esta clasificación, después de hacer clic en la columna Prioridad.

http://img297.imageshack.us/img297/6974/76755363ee3.png

Por supuesto, comenzar una nueva tabla no tiene sentido para cada columna (título, caso #).


Editar: si entiendo correctamente, está buscando una manera de hacer esto en un navegador sin cargar una nueva página. Si este es el caso, sugeriría al menos un poco de soporte del lado del servidor, que devolvería sus datos en el orden correcto y estructurados adecuadamente para las subtablas (en xml / json / lo que sea que use). Su javascript usará estos datos para recrear tablas. Estoy seguro de que otros con más experiencia en la interfaz de usuario web le proporcionarán mejores respuestas.

He usado el Script de tablas ordenables de Kryogenix con algunos buenos resultados .

No sé si es relevante, pero almacenamos los resultados de una consulta en una tabla temporal en SQL, y luego hacemos referencia a current-row-less-one para ver si una Categoría ha cambiado, e indicamos esto en el resultado.

En algunos casos, indicamos " esto con una columna que contiene

<tr><td colspan=999>Category Heading</td></tr>

para que la página web pueda simplemente "inyectar" eso en la mesa que está construyendo.

SELECT Col1, Col2, ...,
       [CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '')
           THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>'
           ELSE ''
           END
FROM #MyTempTable AS T1
     LEFT OUTER JOIN #MyTempTable AS T2
         ON T2.ID = T1.ID - 1
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top