2009-06-23 7 views
1

Le problème est de diviser une liste d'éléments en un nombre variable de colonnes pour optimiser l'affichage sur la page Web (note, ils sont affichés de gauche à droite)de Split une liste en nombre X de colonnes

Si il y a 15 articles dans la liste, ils vont dans une colonne s'il y a 20 articles sur la liste, ils vont dans deux colonnes s'il y a 30 articles sur la liste, ils vont dans deux colonnes il peut y avoir 8 colonnes maximum éliminer horiz. défilement

à nouveau, l'objectif est de maximiser l'affichage qui représente une légère incohérence ci-dessus pour déterminer le nombre de colonnes, je pourrais utiliser une variante du code si (cnt> 100, col = 8) else if (cnt> 60 col = 5) .... etc. mais j'espère qu'il y a une meilleure formule pour déterminer le nombre de colonnes?

la sortie serait de la forme

1 2 3 4 5 6 7 
8 9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 31 32 33 34 35 
36 37 38 39 40 41 42 
43 44 45 46 47 48 49 
50 51 ........ 

espère que le problème est clair, des questions me faire savoir

+0

Demandez-vous comment afficher les colonnes ou simplement "une meilleure formule pour déterminer le nombre de colonnes?" – CoderDennis

+1

Est-ce que la largeur des articles particuliers compte? Si oui, la police est-elle à largeur fixe ou variable? En outre, si oui, voulez-vous un conditionnement optimal pour que chaque colonne soit séparée de la suivante par un seul espace, ou toutes les colonnes devraient-elles avoir la même largeur? – lavinio

+0

1er désolé pour le retard, ne pas openID et n'a pas pu trouver un moyen de répondre de toute façon # 1 - oui le problème est une meilleure formule pour déterminer le nombre de colonnes # 2 - la largeur des articles n'est pas pertinente –

Répondre

0
if count > 15 
    cols = count/ITEMS-PER-COL 
if cols > 8 
    cols = 8 

Cela vous semble comme ça ??

+0

hmm, cela semble bon suppose que j'étais * trop * concentré sur la recherche d'un moyen plus chic! –

Questions connexes