Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
Treeview

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
357ica



Joined: 26 Apr 2005
Posts: 75
Location: Zagreb

PostPosted: 02.07.2007 20:07    Post subject: Treeview Add user to your forum ignore list Reply with quote

Zapeo sam na treeview kontroli, pa ako može pomoć oko jedne stvari...
Cijelu priču radim u asp-u, s time da će mi vizuelni
izgled kontrolirati css, a otvaranje i zatvaranje nodova
će kontrolirati par linija js.

sve to mislim utrpati u <ul><li> strukturu.

U bazi imam tablicu sa poljima

oNodeItem | ID | childID |
Item 1 1 0
Item 1.1 2 1
Item 1.1.1 3 2
Item 2 4 0

Slijedeće sam spojio tablicu samu sa sobom, sql je tu:

strSQL="SELECT oNode.oNodeItem, oNode.ID, oNode.childID"
strSQL = strSQL & " FROM oNode LEFT JOIN oNode AS oNode_1 ON oNode.ID=oNode_1.childID"
strSQL=strSQL & " GROUP BY oNode.oNodeItem, oNode.ID, oNode.childID"
strSQL=strSQL & " ORDER BY oNode.oNodeItem, oNode.ID;"

e sad nastupa noćna mora, ili možda i nije, možda je riješenje jednostavno, a ja ga
jednostavno ne vidim.

kad zavrtim sve to u do while not petlji, dobijam ono što trebam, neovisno
o redoslijedu unošenja podataka u tablicu, u obliku:

Item 1
Item 1.1
Item 1.1.1
Item 1.2
..itd

Naime, koristim i jednu funkciju kojom provjeravam da li tenutačni record u bazi
je single-level ili je on parent node i na osnovu te funkcije generiram html strukturu
za ispis treeview-a

Kad to zavrtim u petlji

set rs=con.Execute(strSQL)

Do While not Rs.EOF

if isParent=True then
' struktura koja se treba ispisati
oNodeItem="<li class=""closed""><a href=""#"">" & Rs("oNodeItem") &"</a>" & vbCrlf
oNodeItem=oNodeItem & "<ul>" & vbCrlf
ELSE
oNodeItem="<li><a href=""#"">" & Rs("oNodeItem") & "</a></li>" & vbCrlf
End if

Response.write oNodeItem

Rs.MoveNext
Loop

set rs=Nothing

Dobijem ono što mi treba, ali ima jedan problem, ne znam kako da
zatvorim </ul></li> na kraju, tj na mjestima gdje mi kreće novi oNode
Pokušavao sam razne trikove ali bezuspješno.

Evo kak to izgleda:

<ul>
<li class="closed"><a href="#">Item 1</a>
<ul>
<li><a href="#">Item 1.1</a></li>
<li><a href="#">Item 1.2</a></li>--->nakon ove linije treba ubaciti </ul></li>
<li class="closed"><a href="#">Item 2</a>
<ul>

<li><a href="#">Item 2.1</a></li>--->nakon ove linije treba ubaciti </ul></li>
<li><a href="#">Item 3</a></li>

</ul>

Ako netko može pomoći, ili reći gdje griješim?
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group