Hej, Liknade problem: [4 namn el. bilder i bredd, och sen fortsätta på ny rad] Lite mer dynamisk lösning. Andreas: Jag skrev ju ett förslag på hur man löste det under inlägget: Jo, jag såg det och har lagt in den koden. Skrivit om den lite. DEn ska nu inte lämna några tomma rader om det går jämt ut. <code>Presentera Recordset?
Jag har ett recordset som innehåller produkter och jag vill lista dom så här:
<code>
<table>
<tr>
<td>Produkt 1</td>
<td> </td>
<td>Produkt 2</td>
</tr>
<tr>
<td>Produkt 3</td>
<td> </td>
<td>Produkt 4</td>
</tr>
<tr>
<td>Produkt 5</td>
<td> </td>
<td>Produkt 6</td>
</tr>
.....osv
</table>
</code>
Förstår ni hur jag menar?
Hur gör man detta?!?!?
/JockeSv: Presentera Recordset?
Sv: Presentera Recordset?
<code>
<table>
<tr>
<%
Dim Col
Const Cols = 2
Col = 1
Do until rs.EOF
If Col >= Cols Then
Col = 1
Response.Write "<td>" & rs("Produkt") & "</td>" & vbCrLf
Response.Write "</tr>" & vbCrLf & "<tr>" & vbCrLf
Else
Col = Col + 1
Response.Write "<td>" & rs("Produkt") & "</td>" & vbCrLf
Response.Write "<td> </td>" & vbCrLf
End If
rs.MoveNext
Loop
rs.Close
%>
</table>
</code>
Kommer inte at skapa TD-tagar för det tomma celler i tabellen. KAn man göra genom att lägga en For Loop Efter recordset loppen:
<code>
For Col = 1 To (Cols - Col) * 2 - 1
Response.Write "<td> </td>" & vbCrLf
Next
</code>Sv: Presentera Recordset?
Det är ju lysande!! Jag är imponerad!!
En fråga bara, varför lägger du en massa vbCrlf överallt?
Jag vet vad det betyder men varför mitt emellan raderna?
Sen när sista raden kommer och det bara finns en produkt i vänstra kolumnen, alltså antalet produketer är ojämt så ritas inte den sista cellen ut.
Sista raden blir så här:
<code>
<tr>
<td>rs("produkt")</td>
<td> </td>
</tr>
</code>
Det skall ju egentligen vara en cell till.
har du något tips hur jag får till det?
Tack för hjälpen!!!
/JockeSv: Presentera Recordset?
table>
<tr>
<%
Dim Col
Const Cols = 2
Col = 1
Do until rs.EOF
If Col >= Cols Then
Col = 1
Response.Write "<td>" & rs("Produkt") & "</td>" & vbCrLf
Response.Write "</tr>" & vbCrLf & "<tr>" & vbCrLf
Else
Col = Col + 1
Response.Write "<td>" & rs("Produkt") & "</td>" & vbCrLf
Response.Write "<td> </td>" & vbCrLf
End If
rs.MoveNext
Loop
For Col = 1 To (Cols - Col) * 2 - 1
Response.Write "<td> </td>" & vbCrLf
Next
rs.Close
%>
</table>
Har inte testat. Man det borde funka.Sv: Presentera Recordset?
Men det blir som jag skrev ovan även då..
Försöker ändra själv men det blir inte rätt..
/JockeSv: Presentera Recordset?
<table>
<%
Dim Col
Const Cols = 2
Col = 1
Do until rs.EOF
If Col = 1 Then
Response.Write "<tr>" & vbCrLf
End If
Response.Write "<td>" & rs("Produkt") & "</td>" & vbCrLf
If Col < Cols Then
Col = Col + 1
Response.Write "<td> </td>" & vbCrLf
Else
Col = 1
Response.Write "</tr>" & vbCrLf
End If
rs.MoveNext
Loop
If Col < Cols Then
For Col = Col To Cols - 2
Response.Write "<td> </td>" & vbCrLf & "<td> </td>" & vbCrLf
Next
Response.Write "<td> </td>" & vbCrLf
End IF
rs.Close
%>
</table>
</code>
Har inte testat koden.