2010-08-11 5 views
0

Compte tenu d'une table comme ceci:quelque chose comme rowspan Restitution avec un nombre dynamique d'enregistrements

Col 1 | Col 2 
    1   2 
    1   3 
    2   4 

... et pourrait être un nombre de 1, 2 de, etc. Col 1. Je veux quelque chose de dynamique de sortie qui ressemblerait à ceci:

<table> 
    <tr> 
     <td rowspan="2"> 
      1 
     </td> 
     <td> 
      2 
     </td> 
    </tr> 
    <tr> 
     <td> 
      3 
     </td> 
    </tr> 
    <tr> 
     <td rowspan="1"> 
      2 
     </td> 
     <td> 
      4 
     </td> 
    </tr> 
</table> 

Mon problème est que, pour le code html ci-dessus, je dois compter le nombre de distinct 1 de trouver le numéro rowspan approprié, puis retourner en arrière et itérer à travers eux pour le html sortie. Je me demandais simplement s'il y avait une manière plus facile/plus rapide de faire quelque chose de similaire où je pourrais juste parcourir les enregistrements et ajouter quelque chose une fois que la rangée suivante de Col 1 est différente de Col 1 de la dernière rangée. qui sonnaient comme je pouvais utiliser rowspan = « 0 » pour le premier enregistrement, et diviser les groupes par les balises tbody comme ceci:

<table> 
    <tbody> 
     <tr> 
      <td rowspan="0"> 
       1 
      </td> 
      <td> 
       2 
      </td> 
     </tr> 
     <tr> 
      <td> 
       3 
      </td> 
     </tr> 
    </tbody> 
    <tbody> 
     <tr> 
      <td rowspan="0"> 
       2 
      </td> 
      <td> 
       4 
      </td> 
     </tr> 
    </tbody> 
</table> 

... et rowspan = « 0 » serait juste couvrir la tbody section, il est contenu dans. Je n'ai pas été en mesure de trouver beaucoup d'informations sur cette méthode, et je ne pouvais pas le faire fonctionner dans IE ou Firefox. Donc, y a-t-il quelque chose qui accélère mon rendu html? Merci d'avance.

Répondre

1

Pourquoi ne pas essayer comme ça?

<table> 
    <tbody> 
     <tr> 
      <td rowspan="10"> 
       1 
      </td> 
      <td> 
       2 
      </td> 
     </tr> 
     <tr> 
      <td> 
       3 
      </td> 
     </tr> 
    </tbody> 
    <tbody> 
     <tr> 
      <td rowspan="10"> 
       2 
      </td> 
      <td> 
       4 
      </td> 
     </tr> 
    </tbody> 
</table> 

Au moins sur cette table, il semblait que cela fonctionnait dans IE8 et FF 3.6. Je suppose que si rowspan = "10" fonctionne bien sur une table avec 3 lignes qui a 2 sections (2 lignes en premier, 1 rang en second) alors rowspan = "10000" devrait fonctionner aussi bien. Edit: oh oui, d'après un couple de sites, rowspan = "0" fonctionne correctement jusqu'à présent seulement dans Opera.

+0

Pas tout à fait ce que j'espérais, mais il semble que ce soit le plus proche d'une solution qui existe. – Ocelot20

+0

Je sais que ce n'est pas exactement ce que vous cherchiez, mais c'était le meilleur que je pouvais trouver après avoir trouvé une vraie solution. – pkauko

Questions connexes