[C#]Treeview deels vullen met data vanuit database

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
ik zit met het volgende probleem. ik heb een treeview in mijn C#-applicatie, met een aantal vaste nodes. De treeview is als volgt opgebouw:

- hoofdscherm
- mijn bestellingen
- actueel
- historisch
- beiden
- bestellingen van mijn collega's
- collega 1
- actueel
- historisch
- beiden
- collega 2
- actueel
- historisch
- beiden

enz.

de opbouw onder de node "bestellingen van min collega's" is dus variabel en wil ik met een distinct-query uit de database (SQL 2005) halen.

Het lukt me maar niet om dit te implementeren. Ik heb met google al gezocht, maar kom eigenlijk alleen maar site tegen waarbij men de gehele structuur van de treeview in de database stoppen. Andere sites laten je zien hoe je de treeview handmatig opbouwt (dus niet via de VS2005 die ik gebruik.

iemand tips om dit toch voor elkaar te krijgen ??

[ Voor 3% gewijzigd door pkouwer op 07-06-2009 14:24 ]


Acties:
  • 0 Henk 'm!

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 17:48

Peetman

Tjah....

Je hebt dus een deel van je treeview hardcoded en je wil een deel in je database zetten en dynamisch ophalen?
Waarom zet je niet alles in de database? Maakt alles ook weer wat beter te onderhouden.

Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
is misschien wel een idee. het idee om de bestellingen an collega's te gebruiken is later pas gekomen.

Ik heb nu een tabel met bestellingen waarin een veld zit, genaamd initialen. Deze veld gebruik ik als referentie, aangezien er geen twee dezelfde initialen zijn. Mogelijk levert dit problemen op als ik alles in de database ga zetten.

Acties:
  • 0 Henk 'm!

  • Peetman
  • Registratie: Oktober 2001
  • Laatst online: 17:48

Peetman

Tjah....

pkouwer schreef op zondag 07 juni 2009 @ 14:42:
is misschien wel een idee. het idee om de bestellingen an collega's te gebruiken is later pas gekomen.

Ik heb nu een tabel met bestellingen waarin een veld zit, genaamd initialen. Deze veld gebruik ik als referentie, aangezien er geen twee dezelfde initialen zijn. Mogelijk levert dit problemen op als ik alles in de database ga zetten.
Dan zou ik je db design gaan herzien als dat problemen oplevert ;). Sowieso begrijp ik niet wat het opslaan van je treenodes te maken heeft met de keys van de bestellingen tabel.

Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
db-design is ok. Ik heb een tabel met bestellingen waarin de initialen van de bestellers staan. Dit kan in idd in een aparte tabel, maar dit wil ik niet, geloof me dit is zo.

in deze tabel staan de bestellingen van alle personen. Nu wil ik in mijn prog de treeview uitbreiden met de initialen van de medewerkers, vandaar de distinct-functie. Probleem is om dit te doen i.c.m. de vaste nodes.

Acties:
  • 0 Henk 'm!

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 13:23
Je kunt toch gewoon nodes toevoegen, en daar weer childnodes, maakt toch niet uti of er al nodes in de treeview staan?

Acties:
  • 0 Henk 'm!

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 18-09 15:41

mOrPhie

❤️❤️❤️❤️🤍

Ik snap niet zo goed wat je nou wilt. Je kunt zoals creator zegt toch gewoon nodes toevoegen?

Waarom is het niet te doen "i.c.m. de vaste nodes"? Hoe heb je het nu opgelost? Krijg je foutmeldingen? Laat 'ns wat code zien, daar kunnen we uiteindelijk veel meer over zeggen dan over deze abstracte uitleg.

Je zegt dat je de treeview wilt uitbreiden met de initialen van de medewerkers. Wat bedoel je met uitbreiden? Wat wil je precies bereiken? Nu is je topic zo vaag als het maar zijn kan. :)

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
ok, ik zal proberen minder vaag te zijn en de code komt (hopelijk) morgen, daar kan ik nu even niet bij.

ik heb een treeview met een aantal vast gedefinieerde nodes (zie afbeelding). Afbeeldingslocatie: http://home.telfort.nl/sp451739/temp/treeview.png

deze nodes zijn allemaal via de Visual Studio 2005 gedefinieerd, maar als het moet kan ik hier van af.

Verder heb ik een tabel genaamd bestellingen (SQL server 2005). hierin heb ik een veld met de naam initialen. Door middel van een distinct-functie, haal ik alle unieke initialen op. Deze moeten onder de node bestellingen van collega's gplaatst worden. Per initiaal wil ik dan weer drie childs plaatsen (actueel / historisch / beiden).

Ik kom op Internet alleen code tegen om een complete treeview uit de database te halen zoals dit voorbeeld.

hopelijk is het nu wat duidelijker en zal proberen morgen wat code te plaatsen.

Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 16:40
In het voorbeeld wat je geeft staat exact wat je moet doen:

Visual Basic:
1
2
3
4
5
6
7
8
9
        'Voorbeeld voor distinct waardes
        Dim collegas As List(Of String) = New List(Of String)
        collegas.Add("Collega 1")
        collegas.Add("Collega 2")

        For Each collega As String In collegas
            'De nummers zijn indexes, die kan je in visual studio vinden.
            TreeView1.Nodes(0).Nodes(0).Nodes.Add(collega)
        Next

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
ok, ik ga kijken of ik dit naar C# kan omzetten....

Acties:
  • 0 Henk 'm!

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 18-09 15:41

mOrPhie

❤️❤️❤️❤️🤍

Naja, als je probleem is dat je niet weet hoe je een treeview dynamisch vult, dan moet je op zoek naar een treeview howto. Die zijn er zat te vinden: http://www.google.nl/sear...gle+zoeken&meta=&aq=f&oq= . Een TreeView is een verzameling TreeNodes. Een TreeNode is op zijn beurt ook weer een verzameling TreeNodes. Die kun je in code dus gewoon opbouwen.

Zodra je in code een treeview kunt opbouwen, kun je dit gaan combineren met data uit een database.

De rest is aan jou. Ik kan hier wel gaan voorkauwen hoe je een treeview opbouwt, maar dat is toch echt iets wat je zelf uit moet gaan vinden. :)

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
ik dacht iets te hebben gevonden waar ik mee uit de voeten kan, maar het blijkt niet te werken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        private void AddTreeViewControls()
        {

            treeView1.Nodes.Add("Root", "XYZ Autombiles");

            treeView1.Nodes["Root"].Nodes.Add("PV", "Passenger Vehicles");

            treeView1.Nodes["Root"].Nodes.Add("CV", "Commercial Vehicles");

            treeView1.Nodes["CV"].Nodes.Add("PK", "Renault");

            treeView1.Nodes["CV"].Nodes.Add("PK1", "Peugeot");

        }


in de laatste twee regels gaat het mis. wat doe ik hieraan fout ?

Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 16:56

Dido

heforshe

Misschien probeer je in die laatste twee regels nodes toe te voegen aan de niet-bestaande node treeview1.Nodes["CV"]?

Hint: je maakt Root aan vervolgens Root.PV en Root.CV

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • pkouwer
  • Registratie: November 2001
  • Laatst online: 13-09 21:05
gelukt. Waarschijnlijk denk ik nog teveel in VB6 waarin het wel zo werkte. Ik ga kijken of k hier mee verder kan, lijkt me wel.

thanks !
Pagina: 1