Prövade att kasta ut ID från metoden, vilket resulterade i
35=51
36=36
4=4
31=31
39=39
32=32
52=52
58=58
20=20
43=43
59=59
55=55
49=49
26=26
25=25
37=37
38=38
42=42
7=7
56=56
57=57
Där ser man direkt en skillnad.. 35=51 bör stå 35=35 .. :l
1 svar · 290 visningar · startad av Fredde Mannen
Har skapat en klass som skapar en expanderbar meny i ASP till klubbens hemsida.
Dock är den lite skum, samma god kan producera helt olika resultat..
Den fungerar på det sätt att varje post i en databas (id och parentid) eller om man manuellt vill skapa poster i menyn:
Dim objNavTree
Set objNavTree = New NavTree
' Lägg till poster
objNavTree.Add 1, -1, "Rootelement", "Sida.asp"
objNavTree.Add 2, 1, "Barn till Rootelement", "Sida.asp"
' Visa trädet
objNavTree.BuildTree
Det är själva sättet att skapa menyn på, koden bakom är lite större :) Problemet som jag stöter på är att på något underligt sätt faller barn och rotelement om jag skapar den från en databas.
Själv misstänker jag att det har med Metoden Add som skapar en post i en array med värdena id;;parentid;;name;;url
Följande är metoden Add
Public Sub Add(id,parentid,name,url)
Dim ListItem()
if IsArray(List) Then
Dim n
n = Ubound(List) + 1
Redim ListItem(n)
Item = List
For i = 0 To Ubound(List)
ListItem(i) = item(i)
Next
ListItem(n) = parentid & ";;" & name & ";;" & url & ";;" & id
Else
Redim ListItem(0)
ListItem(0) = parentid & ";;" & name & ";;" & url & ";;" & id
End if
List = ListItem
End Sub
Där List i denna metod är en property som skall innehålla den fyllda arrayn..
Kan denna göra så att någon post inte kommer med..
För loopar jag genom databasen och skriver ut i:
... kod..
nArray = rs.GetRows
For i = 0 To Ubound(nArray,2)
Response.Write(i & "<br />")
objNavTree.Add nArray(0,i), nArray(1,i), nArray(2,i), nArray(3,i)
Next
Så hoppar den över värden, ex 1 & 2:
0
3
4
5
6
7
8
9
Där har den hoppat över i, vänder jag och stoppar response efter objNavTree.Add .. så resulterar det i
2
3
4
5
6
7
8
9
Då har den hoppat över 0 & 1
Kan det vara metoden som gör detta?
Prövade att kasta ut ID från metoden, vilket resulterade i
35=51
36=36
4=4
31=31
39=39
32=32
52=52
58=58
20=20
43=43
59=59
55=55
49=49
26=26
25=25
37=37
38=38
42=42
7=7
56=56
57=57
Där ser man direkt en skillnad.. 35=51 bör stå 35=35 .. :l