2009-01-25 5 views
1

Je veux afficher les éléments comme suit,Comment afficher des données de colonne unique sous forme de tableau?

<td1>  <td2>  <td3>  <td4> 
1   7   13  19 
2   8   14  20 
3   9   15  21 
4   10  16  22 
5   11  17  23 
6   12  18   

Je reçois des données (de 1 ...... 23) dans une seule colonne de base de données. Maintenant, je veux lancer une boucle qui affichera mes données de colonnes simples dans le format ci-dessus. S'il vous plaît dites-moi le code de la boucle pour l'utilisation de laquelle je peux afficher des données au format ci-dessus. Les données peuvent être plus de 23 dans l'environnement de production, donc la logique devrait être telle qu'elle peut gérer n'importe quelle quantité de données. J'utilise ASP.NET (C#).

Merci

Répondre

2

OK, voici une version corrigée de la boucle de Riho:

int records = ... ;      /* the number of records */ 
int cols = 4;       /* the number of columns */ 
int rows = (records + cols - 1)/cols; /* nb: assumes integer math */ 

for (int row = 0; row < rows; ++row) { 

    print "<tr>"; 

    for (int col = 0; col < cols; ++col) { 

     print "<td>"; 

     int offset = col * rows + row; 
     if (offset < records) { 
      print data[offset]; 
     } else { 
      print "nbsp;" /* nb: should have an & but markdown doesn't work */ 
     } 

     print "</td>"; 
    } 

    print "</tr>"; 
} 

La cellule &nbsp; est souvent nécessaire de faire en sorte que le rendu HTML cellule a l'arrière-plan correct. Les cellules manquantes ou les cellules sans données ne sont pas rendues identiques aux cellules normales.

2

En pseudocode (ne pas le tester):

int recordnum=....; //get the total number of records 
int col_length=recordnum/4; 

for(int i=0;i<col_length;i++) 
{ for(int j=0;j<4;j++) 
    print data[i+j*col_length] ; 
    print "\n"; 
} 
+1

vous devriez l'avoir testé ... il affichera un trop petit nombre de lignes sauf si le nombre d'enregistrements est un multiple de quatre. – Alnitak

+0

Je suis parti tester comme un exercice pour le demandeur – Riho

3

Je pense que vous pouvez utiliser asp: DataList et lier les données à elle.
Voici un exemple d'utilisation de datalist avec les propriétés RepeatDirection et RepeatColumns.

+0

WOW, c'est coool, oui nous pouvons l'utiliser. J'essaye mon problème avec ceci et vous ferai savoir si résolu. Merci pour ce concept. – Prashant

Questions connexes