webForumDet fria alternativet

Treeviewliknande med parent-child

.NET

2 svar · 389 visningar · startad av rhdf

Medlem sedan okt. 2007446 inlägg
Frågan#1

Jag sitter och försöker komma på ett bättre sätt att lösa en kategori meny jag har i min shop-lösning.

i databasen ligger alla produktkategorier i en tabell med fälten
CatID
parentID
Titel
SortOrder
Visible

den lösning jag har nu med nästlade repeaters tillåter inte riktigt att jag har mer än 2 nivåer i menyn, nu har det visat sig att det finns behov av att ha 3 nivåer för att inte menyn skall bli för rörig. Dvs
Huvudkategori
- Underkategori1
--- Kategori1
--- Kategori2
- Underkategori2

jag skulle vilja ha en lösning där jag med en fråga mot databasen får ut alla kategorier och sen prydligt renderar en snygg nästlad lista. Med nuvarande lösning så behöver jag 2 frågor
Select.... Where ParentID=0 och Select... Where ParentID>0 men att ställa en ytterligare fråga känns lite knäppt, dessutom, hur skulle den se ut?

Några konkreta tips som kan leda mig i rätt riktning?

Medlem sedan nov. 200373 inlägg
#2

Det vanliga sättet att lagra träd på är följande:

id, name, parent
1, kategorier, null
2, spel, 1
3, böcker, 1
4, pocket, 3

Det behövs bara en sql-fråga för att skriva ut det trädet rekursivt.

Du kan läsa mer här:
http://www.sitepoint.com/article/hierarchical-data-database/

Medlem sedan okt. 2007446 inlägg
#3

Jag lagrar ju trädet sådär,
den där länken var ju relativt informativ, om man bortser från att den hade kodexempel i PHP, det borde finnas "vackrare" sätt att lösa detta på i .net

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)