#asp-classic
#asp-classic
Вопрос:
Приведенный ниже код показывает, как отобразить / разделить 2 строки в таблице. Но как мне заставить его показывать / разделить его на 4 строки, а не только на две???
dim bCloseRow
bCloseRow = True
Do while not objTrucks.eof
If bCloseRow Then response.write "<tr>"
bCloseRow = Not bCloseRow
response.write "<td><input type=checkbox name=dno value=" amp; objTrucks("TRUCK_NO") amp; objTrucks("TRUCK_NO") amp; ">" amp; objTrucks("TRUCK_NO") amp; "</td>"
If bCloseRow Then response.write "</tr>"
objTrucks.movenext
loop
Спасибо за любую помощь.
Ответ №1:
Если в наборе записей больше строк, чем четыре, вам нужно сделать строку больше. И если их меньше четырех, вам придется вставить несколько пустых тегов td.
Надеюсь, это поможет
const iCols=4
dim iCount:iCount=0
if not objTrucks.eof then
response.write "<table>"
Do while not objTrucks.eof
if iCount=0 then response.write "<tr>"
response.write "<td><input type=checkbox name=dno value=" amp; objTrucks("TRUCK_NO") amp; objTrucks("TRUCK_NO") amp; ">" amp; objTrucks("TRUCK_NO") amp; "</td>"
objTrucks.movenext
iCount = iCount 1
if iCount=iCols then
response.write "</tr>"
iCount=0
end if
loop
if iCount>0 then
for i = iCount to iCols-1
response.write "<td></td>"
next
response.write "</tr>"
end if
response.write "</table>"
end if
Ответ №2:
Я бы сделал это, используя счетчик вместо логического флага:
Const numCols = 4
Dim counter
counter = 0
Do While Not objTrucks.EOF
If counter Mod numCols = 0 Then
Response.Write "<tr>"
End If
counter = counter 1
Response.Write "<td><input type=checkbox name=dno value=" amp; objTrucks("TRUCK_NO") amp; objTrucks("TRUCK_NO") amp; ">" amp; objTrucks("TRUCK_NO") amp; "</td>"
If counter Mod numCols = 0 Then
Response.Write "</tr>"
End If
objTrucks.MoveNext
Loop