webForumDet fria alternativet

Dynamisk tabell

5 svar · 484 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Jag bygger upp min tabell, så att det blir en "ram" av celler, med
en större cell i mitten. De mindre cellerna fylls med små bilder, och
blir en förstorad upplaga, när man håller musen över en av de
mindre bilderna.
Detta förutsätter att antalet bilder(i detta fallet konstnärer) är kännt.

size = 24

i = 1
for i = 1 to size

SELECT CASE i
case 1,8,10,12,14,16,18
	response.write "<tr><td>" & i & "</td>"
case 2,3,4,5,6,19,20,21,22,23,24
	response.write "<td>" & i & "</td>"
case 7,11,13,15,17,24
	response.write "<td>" & i & "</td></td>"
case 9
	response.write "<td colspan=""5"" rowspan=""5""> 
MITTEN</td><td>" & i & "</td></tr>"
CASE ELSE
	response.write "</TD>"
END SELECT

NEXT

Nu förutsätter ju detta, att antalet(size) är kännt.
Vad jag skulle vilja göra, är att plocka fram antalet konstnärer
(inga problem) och låta case-satsen vara dynamisk.

antalKonst = 'här hämtas antalet i databasen
if antalKonst > 16 and antalKonst < 18 then
sTrTd = 1,6,9,11,13
sTd = 2,3,4,14,15,16
sTdTr = 5,8,10,12,17
sTdBigPic = 7
end if

SELECT CASE i
case sTrTd 
case sTd 
case sTdTr 
case sTdBigPic 
case else
end select

OBS jag har ej skrivet ut vad som skall hända i case fältet.
Så här hadde jag velat ha det, men jag får fel i mina variabler.
Förstår ni hur jag menar?
Går det att lösa detta?

J.N.Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Jag undrar om det går?
Har nog inte testat det själv någon gång.

Börja i alla fall med att sätta fnuttar runt 1,6,9,11,13 etc, annars lär väl inte det gå?

sawMedlem sedan mars 20011 880 inlägg
#3

Detta fungerar inte:

sTrTd= "1,8,10,12,14,16,18"
case sTrTd
sawMedlem sedan mars 20011 880 inlägg
#4

Nästa misslyckande:

'lite kod
case mAntal(sTrTd,i)
'lite kod
Function mAntal(iA,i)
dim niA,j
		niA = split(iA,",")
		for j = 0 to Ubound(niA)		
			if niA(j)=i then
				mAntal = Clng(niA(j))
				response.write niA(j)
			end if
		next
End Function

Är det här kört???

GuffaMedlem sedan juni 2004533 inlägg
#5

Du jämför ett tal med en sträng. Det fungerar aldrig.

Ändra

if niA(j)=i then

till

if CLng(niA(j)) = i then

Knöligt sätt, förresten. Varför gör du inte en array med en kod för beteendet för varje kolumn, och gör en select på koden.

sawMedlem sedan mars 20011 880 inlägg
#6

Tack Guffa, nu fungerar det.
Knöligt sätt, förresten. Varför gör du inte en array med en
kod för beteendet för varje kolumn, och gör en select på koden.

Jag förstår inte hur du menar, vill du göra ett exempel?

260 ms totalt · 3 externa anrop · v20260731065814-full.30151723
126 ms — hämta forumlista (db)
122 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)