Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Tayson
Člen
Avatar
Tayson:3.3.2015 19:29

Neviete mi niekto poradit ked mam v programe pouzity treeview a je tam lubovolny pocet uzlov a vnoreni ako prehladat cely treeview prvok po prvku pretoze kazdy ten prvok v tom strome ma svoju hodnotu a potrebujem ho cely prehladat aby som si vedel spravit vypocty. Dakujem

 
Odpovědět
3.3.2015 19:29
Avatar
adas
Tvůrce
Avatar
adas:3.3.2015 19:44
ItemCollection items = tree.Items;

foreach (TreeViewItem node in items)
{

}
 
Nahoru Odpovědět
3.3.2015 19:44
Avatar
Tayson
Člen
Avatar
Odpovídá na adas
Tayson:3.3.2015 19:53

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

 
Nahoru Odpovědět
3.3.2015 19:53
Avatar
Tayson
Člen
Avatar
Odpovídá na adas
Tayson:3.3.2015 19:56

No nezobrazilo presne tie prvky tak ako som chcel tak skusim este raz to nazorne ukazat:

prvok1
prvok2
....|->prvok3
........|->prvok4
....|->prvok5
prvok6

 
Nahoru Odpovědět
3.3.2015 19:56
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Tayson
Jan Vargovský:3.3.2015 20:10

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 :)

 
Nahoru Odpovědět
3.3.2015 20:10
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Tayson
Jan Vargovský:3.3.2015 20:17
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;
    }
}
 
Nahoru Odpovědět
3.3.2015 20:17
Avatar
Tayson
Člen
Avatar
Odpovídá na Jan Vargovský
Tayson:3.3.2015 20:29

Vies mi nejako v kratkosti objasnit o co sa jedna alebo co to robi ?

 
Nahoru Odpovědět
3.3.2015 20:29
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Tayson
Jan Vargovský:3.3.2015 20:41

Moc nevím co je na tom nejasné :D 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.

  1. Procházíš všechny položky a každou z nich si uložíš.
  2. Když má položka nějaké podpoložky, tak jdeš k bodu 1.
 
Nahoru Odpovědět
3.3.2015 20:41
Avatar
Tayson
Člen
Avatar
Odpovídá na Jan Vargovský
Tayson:3.3.2015 20:41

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

 
Nahoru Odpovědět
3.3.2015 20:41
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Tayson
Jan Vargovský:3.3.2015 20:42

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).

 
Nahoru Odpovědět
3.3.2015 20:42
Avatar
Tayson
Člen
Avatar
Odpovídá na Jan Vargovský
Tayson:4.3.2015 8:49

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 ?

 
Nahoru Odpovědět
4.3.2015 8:49
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.