Treeview füllen, Daten laden

liquidbeats

Erfahrenes Mitglied
Guten Morgen,



Ich habe da ein Problem bei dem ich nicht mehr weiter komme.

Ich habe ein Treeview das mir als Stammbaum dient um gewünschte Inhalte die man sehen möchte auswählen zu können.



Mein Frage dazu ist, wie kann ich den Inhalt Automatisch generieren lassen so das jeweils ein Stamm und entsprechende Unterordner angelegt werden diese dann einen wert bekommen und durch anklicken die Daten abrufen.



Diese Daten würde ich gerne in einer Extra Datei speichern um so nicht jedes Mal das Programm beim hinzufügen neu Kompilieren zu müssen.

Von XML habe ich keine Ahnung und ich möchte nun auch nicht für jeden Datensatz eine XMÖ Datei anlegen da sonst zu viele.

Für eine SQL Datenbank sind es aber wieder zu wenig Daten und auch an die Verwendung mit SQL möchte ich mich noch nicht so rann trauen auch wenn ich diese aus PHP gewohnt bin.





Im Anhang hänge ich mal ein Beispiel bild an um zu Demonstrieren was ich denn möchte.

Das Grün markierte soll halt automatisch erstellt werden, je nach Inhalt der anfangs geladenen Datei, ebenfalls sollte dann der entsprechende Datensatz des Markierten nodes im rot Markierten Feld zu sehen sein.

Im blauen Feld sollte dann der jeweilige Name des Nodes stehen, ist aber kein Problem.





Ich hoffe mir kann da jemand helfen.





Gruß Andy
 

Anhänge

  • 255.jpg
    255.jpg
    31,6 KB · Aufrufe: 954
Hierfür ist XML aber sehr sehr praktisch. Und es ist ein Irrglaube, dass jeder Datensatz in einer eigenen Datei liegen muss. Kannst Du natürlich machen, ist aber sinnlos.

Code:
<xmlroot>
   <datensaetze>
      <datensatz>
         <vorname>muh</vorname>
         <nachname>muhmuh</nachname>
      </datensatz>
      <datensatz>
         <vorname>muh2</vorname>
         <nachname>muhmuh2</nachname>
      </datensatz>
      <datensatz>
         <vorname>muh3</vorname>
         <nachname>muhmuh3</nachname>
      </datensatz>
   </datensaetze>
</xmlroot>

Das kannst Du recht einfach in eine TreeView-Struktur übernehmen und die Daten dann bei Klick auf eine Node auslesen. Beispiele gibt es zu Hauf im Internet.

Hier findest Du eine Möglichkeit wie Du ein TreeView mit Verzeichnisdaten füllen kannst. Du musst eigentlich nur mehr die Daten aus dem XML-File anstatt der Verzeichnisdaten nehmen und schon ists fast fertig.
 
Danke dir, das mit extra file war auch nur ein Beispiel.
Ich habe sehr Intensiv mit Objekten rumprobiert usw. jedoch was mit Laden und speichern von Daten zu tun hat habe ich bisher nix gefunden.
die MSDN hat mir sehr gut geholfen jedoch in diesem bereich nicht wirklich.


meine frage ist jetzt wie ich zu jedem
<datensatz>
<vorname>muh3</vorname>
<nachname>muhmuh3</nachname>
</datensatz>
ein node bekommen soll :rolleyes:
habe auch in der MSDN nichts dazu gefunden.

Das ist somit das erste wirklich größere problem womit ich zu kämpfen habe.

dem link bin ich gefolgt und werde es mal Verständniß halber durch gehen.

Danke

Gruß Andy
 
Zuletzt bearbeitet:
ha ho .. das ist Fantastisch :)
Vielen Dank.

dann bräucht ich jetzt nur noch etwas das mit rechts auch den inhalt anzeigt. :rolleyes:
ich habe mit irgendwie gedacht das es zwar am besten wär den nodes eine ide zu geben die keiner sieht, weis aber nicht wie das geht.

denkanstöße würden mir schon helfen.

Gruß Andy
 
Eine ID-Möglichkeit müsstest Du selbst zum Control hinzufügen (Ableiten, erweitern, etc.). Ist ein wenig viel Arbeit. Aber Du hast ja den Pfad zum Item wenn Du drauf klickst. Über diesen kannst den Eintrag dann im XML-Sheet suchen und in den entsprechenden Feldern zur Anzeige bringen.

Hier bekommst Du den kompletten Pfad des ausgewählten Nodes zurück:
Code:
myTreeView.SelectedNode.FullPath

Über die Property PathSeperator kannst auch den Delimiter einstellen.

Sollte weiterhelfen.
 
Danke dir
also so wirklich habe ich das nicht verstanden, :rolleyes:
Weder weis ich wie ich die Daten in dem jeweiligen Node speichere noch wie ich die Daten abspeichere.
alles in einem Dokument wär zu viel, alle einzeln ok würde sie dann aber gerne in einer cab datei drinne habe.
Problem ist das diese dann immer durchsucht und entpackt werden müsste was bei vielen Daten orgendwann zu Geschwindigkeits einbusen führen kann.

Bei PHP war das alles noch so einfach :rolleyes:


Danke dir jedenfals.

Gruß Andy

[edit]
So bevor ich hier rumspamme editiere ich mal lieber.
textBox1.Text = treeview.SelectedNode.FullPath;
hat einen Wunderschönes ergebnis geliefert womit mir gleich noch zusätzliche lösungswege in den kopf gekommen sind.

Vieleicht bekomm ich das dann doch so hin wie erwünscht.
BestenDank.

ahso und den link zu der Seite den du mir gegeben hast 1A :)


Gruß Andy
 
Zuletzt bearbeitet:
grade gesehen das du geantwortet hast während ich am Editieren war :)
ähm ja.. na es werden mit sicherheit so 200 datensätze werden evtl kann die zahl auch auf 500 ansteigen, jeh nachdem wieviel ich so zusammenbekomme.

Derzeit habe ich so an die 100 und es sind derzeit nur die nodes ohne irgendwelche verweise.
Diese Nodes werden beim starten des Programmes durch die xml datei wunderbar geladen.

:offtopic:
Ich finde das sowas von genial anzusehen wie man solch ein Programm hochziehen kann.
macht sogar mehr spaß als PHP und dies fand ich ja bisher schon verdammt genial :)

Gruß Andy
 

Neue Beiträge

Zurück