Diskuze: TreeView prehladavanie
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
To prehladavanie funguje ale neprehladava to dalej do hlbky to znamena ze ak mam nieco taketo :
prvok1
prvok2
prvok3
prvok4
prvok5
prvok6
to je ukazka treeview bez ciar .... kde cez foreach mi zobrazi prvok1, prvok2, prvok6 .... ale ostatne uz nie napriklad prvok3 a prvok5 je vnoreny v prvku2 a zasa prvok4 je vnoreny v prvku3 ... tie mi nezobrazuje vez ten foreach ibat prvok 1 a 2 a 6
No nezobrazilo presne tie prvky tak ako som chcel tak skusim este raz to nazorne ukazat:
prvok1
prvok2
....|->prvok3
........|->prvok4
....|->prvok5
prvok6
Jestli ti stačí malá rada, tak použij rekurzi. Jestli ti to stačit
enbude, tak chvíli počkej, já ti to tu postnu
private IEnumerable<TreeViewItem> GetSubTreeViewItems(ItemCollection items)
{
foreach (var item in items.OfType<TreeViewItem>())
{
yield return item;
if (item.Items != null)
foreach (var subItem in GetSubTreeViewItems(item.Items))
yield return subItem;
}
}
Vies mi nejako v kratkosti objasnit o co sa jedna alebo co to robi ?
Moc nevím co je na tom nejasné Vezmeš kolekci a tu celou projdeš, uložíš si její hodnotu. Pak
prohledáváš jen do hloubky, takže vezmeš položku a prohledáš jeho
podpoložky, každou z nich uložíš a takhle jedeš pořád, dokud nějaké
jsou. Pak z toho všeho vyskočíš a bereš zase od první vrstvy a jedeš
dolů.
Ještě trošku jinak.
Ale ak rozumiem trochu tomu kodu tak pozeram ze je tam len jedno vnorenie ale co keby som mal v prvku4 dalsie vnorenie a potom dalsie ... to by bolo v sebe vela foreachov a ja to chcem mat dynamicky lebo neviem ci nebude 10 vnoreni alebo 20 a to je blbost takto riesit
Zkoušel jsi to vůbec...? To vnoření je rekurzivně, takže mi je úplně jedno kolikrát se to bude zanořovat (teoreticky, paměťově omezen jsi).
Takze to co si mi poslal je funkcia ktoru budem volat ? Pretoze ja mam spravenu udalost na stlacenie tlacidla. A tam to chcem aby sa to vykonalo. Mam spraveny objekt ktory sa vola treeView1 dajme tomu. Takze mam tu funkciu volat ?
Zobrazeno 11 zpráv z 11.