Thomas skrev:
> Jeg har forsøgt mig med følgende, men det virker ikke rigtig?
Hvordan virker det nu?
Får du slet ingen tr'er eller er de bare placeret forkert.
Så lige en ekstra gang på koden - noget er ganske rigtigt galt:
Prøv at køre løkken igennem med en taeller-værdi der er delelig med
4:
> If (taeller MOD 4 = 0 ) Then
> Response.Write "<tr>"
> End if
Der skrives "<tr">
> Response.Write "<td>" & rs("id") & "</td>"
Der skrives "<td>...</td">
> If (taeller MOD 4 = 0 ) Then
> Response.Write "</tr>"
> End if
Der skrives "</tr">"
Det vil sige at du får en tabel der ser nogenlunde sådan ud:
<table>
<tr><td>Post 1</td></tr>
<td>Post 2</td>
<td>Post 3</td>
<td>Post 4</td>
<tr><td>Post 5</td></tr>
...
</table>
Jeg vil foreslå at du nøjes med det første tjek, men til gengæld
skriver "</tr><tr>" i stedet for blot "<tr>". Det skal selvfølgelig
ikke gøres første gang - men det klares meget nemt ved at flytte
tælleradditionen op øverst i løkken (så kommer tællerens værdi i
øvrigt også til at passe med postnummeret).
Eksempel:
' Start tabellen
Response.write "<table><tr>"
Do While Not rs.EOF ' [1]
taeller = taeller + 1
If (taeller MOD 4) = 0 Then
Response.write "</tr><tr>"
End If
Response.Write "<td>" & rs("id") & "</td>"
rs.MoveNext
Loop
' For at få tabellen til at "gå op" skal der placeres 1-3 tomme
' celler i sidste række
' Antallet kan findes ud fra tællerværdien
Dim restCeller
restCeller = 3 - (taeller MOD 4)
For i = 1 to restCeller
Response.write "<td></td>"
Next
' Luk rækken og tabellen
Response.write "</tr></table>"
NB: Hvis postsættet er tomt genereres en række med 3 celler i -
altså én celle mindre end det normale layout. Men da tabellen er
tom vil forskellen ikke være umiddelbart synlig.
Noter:
======
[1] Ved at placere løkkebetingelsen øverst sikrer man sig mod fejl hvis
rs er tomt fra starten
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html