Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Tree View kontrola VB.NET

[es] :: .NET :: .NET Desktop razvoj :: Tree View kontrola VB.NET

[ Pregleda: 2551 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sasha74
Beograd

Član broj: 72051
Poruke: 30
*.dunav.co.yu.



Profil

icon Tree View kontrola VB.NET20.03.2006. u 08:06 - pre 220 meseci
Molio bih za pomoć u vezi programiranja Tree View kontrole u VB.NET-u,pokušavam da programski izvedem punjenje stabla i generisanje child nodova -nivo dubine je 3, ali mi ne uspeva. Koristim web servise za pristup bazi podataka. Da li je neko imao prilike za programiranjem ove kontrole, pa ako je u mogućnosti da mi pošalje kod ili ga stavi u okviru posta. Molim za pomoć, hitno je,nemam veliko iskustvo u VB programiranju, početnik sam.
Unapred hvala!!!

[Ovu poruku je menjao sasha74 dana 20.03.2006. u 09:09 GMT+1]
 
Odgovor na temu

Sandra_G
Aleksandra Glusac
Programer

Član broj: 66979
Poruke: 68
*.mediaworksit.net.

ICQ: 298551171


Profil

icon Re: Tree View kontrola VB.NET20.03.2006. u 13:33 - pre 220 meseci
U principu bi trebalo da koristis rekurziju. Recimo da imas podatke u nekoj tabeli, i da svaki red te tabele ima neki indikator koji pokazuje "parent" tog reda (recorda). Pristup u teoriji je da ides po recordima u tabeli, dodas record kao root na treeview. Zatim rekurzijom radis to isto, s tim sto prosledis treeNode na koji ces da dodajes dalje nodove.
Nesto slicno radi ovaj kod, doduse u C#. Naravno, ne mozes da ga primenis direktno u svoj kod, ali se nadam da ti je bar malo jasnije sta bi trebalo da uradis. Srecno!

...
DataSet dataset = UzmiRecorde();
foreach (DataRow row in dataset.nekaTabela.Rows)
{
if (Convert.ToInt32(row["ID_PARENT"]) == 0) // nema parent, pa je to record koji ide kao root node
{
TreeNode ndParent = new TreeNode(row["VREDNOST"].ToString());
twSource.Nodes.Add(ndParent);
RecurseTreeView(row, ndParent);
}
}
....

private static void RecurseTreeViev(DataRow row, TreeNode ndParent)
{
System.Data.DataSet data = UzmiChildRecorde(row["ID_PARENT"]);
if (data.Tables[0].Rows.Count > 0)
{
foreach (DataRow r in data.Tables[0].Rows)
{
TreeNode ndChild = ndParent.Nodes.Add(r["VREDNOST"].ToString());
RecurseTreeView(r, ndChild);
}
}
}


[Ovu poruku je menjao Sandra_G dana 20.03.2006. u 14:35 GMT+1]
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
 
Odgovor na temu

sivan347
.NET Programer
Beograd

Član broj: 84406
Poruke: 101
*.acs.co.yu.



Profil

icon Re: Tree View kontrola VB.NET21.03.2006. u 09:07 - pre 220 meseci
Drugi nacin je da punis nodove postepeno tj. na prvi event recimo Page_Load napunis samo parent nodove a onda na klik event na odredjeni node punis samo taj node njegovim child nodovima. Ovo je bolja varijanta ako imas puno podataka.
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Tree View kontrola VB.NET

[ Pregleda: 2551 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.