¿Hay alguna forma de determinar o calcular si se puede normalizar una tabla HTML utilizando filas? O si hay una biblioteca de JavaScript que puede hacerlo.Tabla HTML "normalizar" con rowspan
Por ejemplo, esta tabla:
+-----------+---------+
| Apple | Red |
| Apple | Green |
| Apple | Yellow |
| Sun | Yellow |
| Sun | Hot |
| Charizard | Hot |
| Charizard | Pokémon |
+-----------+---------+
se convertiría en esto:
+-----------+---------+
| Apple | Red |
| | Green |
| |---------|
|-----------| Yellow |
| Sun |-------- |
|-----------| Hot |
| |---------|
| Charizard | Pokémon |
+-----------+---------+
Mira esta violín a ver lo que quiero decir: http://jsfiddle.net/scorch/LZKkQ/
Algunas de estas combinaciones son fáciles averiguarlo manualmente, pero algunos pueden ser bastante complejos. Me gustaría minimizar la tabla tanto como sea posible, y me aseguro de que no haya otra combinación que pueda minimizarla aún más. Es decir, preferiblemente solo valores únicos en la tabla.
EDIT: No importa la columna extra en el violín. Parece que firefox tiene algunos problemas con rowspan en la columna de la derecha, así que tuve que agregar otro para que tenga el efecto deseado.
EDIT 2:
Las tablas de datos Plugin fnMultiRowspan
y fnFakeRowspan
se menciona más adelante en realidad no obtener los resultados deseados. Ambos complementos necesitan que la tabla se ordene de la manera correcta antes de que funcione; fnFakeRowspan
sólo funciona en una columna y fnMultiRowspan
da el resultado a continuación (de agua caliente y amarillo están duplicados en la segunda columna):
+-----------+---------+
| | Red |
| Apple | Green |
| | Yellow |
|-----------+---------|
| Charizard | Hot |
| | Pokémon |
|-----------+---------|
| Sun | Yellow |
| | Hot |
+-----------+---------+
has necesitado escribir usted mismo? –
Sí, hay una biblioteca jquery [Datatable] (http://datatables.net) que tenía esta característica, vea esto: [Agrupación visual de dos o más celdas seguidas con el mismo contenido] (http://datatables.net)/plug-ins/api # fnFakeRowspan) –
He intentado encontrar una forma matemática de hacerlo, pero parece que no puedo encontrar una manera de hacer una ecuación. – Oscar