Laden...

TreeView an DataGrid binden

Erstellt von smalldevice vor 11 Jahren Letzter Beitrag vor 11 Jahren 5.962 Views
S
smalldevice Themenstarter:in
10 Beiträge seit 2012
vor 11 Jahren
TreeView an DataGrid binden

Hallo Gemeinde,

Ich bin neu hier, deshalb stelle ich mich erst mal vor, bevor ich Euch mit Fragen löchere.
Mein Name ist Michael, bin 51 Jahre, verheiratet, no Kids.
Ich bin Bauingenieur und arbeite seit 20 Jahren als Softwarentwickler in einer Firma, die Statik- und CAD-Software für die Baubranche entwickelt. Seit ca. einem Jahr entwickeln wir in .net/c#. Mit anderen Worten, ich bin noch Anfänger.

Hier nun mein Problem:

Ich möchte an eine Spalte eines DataGrid ein TreeView binden, finde aber nichts diesbezüglich (habe hier schon nachgeforscht und im Netz).
Das Grid ist über DataBinding an eine Datenklasse gebunden, die ein Feld entält, für das ich in der entsprechenden Spalte ein TreeView brauche. Man könnte das auch über eine Combobox machen was in diesem Fall aber unpraktisch ist, da hier ca. 200 Einträge angezeigt werden müssten. Die Daten bestehen aus 12 Hauptgruppen mit jeweils ca. 20 logisch zusammengehörigen Unterpunkten. Zum schnelleren Auffinden und auswählen des gewünschten Punktes wäre also ein Tree optimal.

Ich hoffe, dass Ihr mir helfen könnt.

mfg

smalldevice

225 Beiträge seit 2005
vor 11 Jahren

Ich würde Dir empfehlen in ein fertiges Control zu investieren was das bereits kann. Ja das kostet Geld... aber Du bekommst im Normalfall eine qualitativ hochwertige Komponente die bereits getestet ist und den entsprechenden Support vom Hersteller. Ich habe sehtr gute Erfahrungen mit DevExpress gemacht, die sind leider mittlerweile teurer geworden, weil nicht mehr alle Komponentwen einzeln sondern in bundles verkauft werden:

http://www.devexpress.com/Products/NET/Controls/WinForms/Grid/

225 Beiträge seit 2005
vor 11 Jahren

da fäält mir noch was ein... schau mal hier... da solltest Du doch was bei finden...

Liste der Grid and Data Controls

S
smalldevice Themenstarter:in
10 Beiträge seit 2012
vor 11 Jahren

Hallo,

Danke für Deine Hilfe.
Kaufen geht nicht. Orginalton meines Chefs: Das können wir selber machen. Wobei er immer vergisst, dass das noch teurer ist (wenn mann bedenkt was eine Ingenieurstunde kostet).

Beim anderen Link suche ich noch.

mfG

smalldevice

Y
238 Beiträge seit 2005
vor 11 Jahren

Hallo smalldevice,

wenn ich es richtig verstehe möchtest du ein Mix aus TreeView und DataGrid haben richtig? Oder soll eher in einer bestimmten Tabellenspalte jede Zelle einen kleinen Baum enthalten? Beides kann recht aufwendig\kompliziert werden, besonders wenn es mit sauberem Databinding ausgestattet werden soll. In WinForms gibt es leider gar keine fertige Databinding-Mechanizmen für hierarchisch strukturierte Daten (hier Bäume). Wenn kaufen gar nicht geht dann melde dich wieder, mal schauen was sich so machen lässt 😉

PS: kannst du eventuell eine Skizze anheften wie das Control ausschauen soll.

T
415 Beiträge seit 2007
vor 11 Jahren
5.299 Beiträge seit 2008
vor 11 Jahren

"TreeView an DataGrid binden" ist in mehrfacher Hinsicht nicht sinnvoll.

Zum einen benutzt man DataGrid gar nimmer, sondern nurnoch das DataGridView.
Zum anderen bindet man nicht ein Control ans andere, sondern man bindet immer ein Control an eine BindingSource, welche die Daten bereitstellt.

ggfs. kann man mehrere Controls an dieselbe Bs binden, dann könnte man etwas ungenau davon sprechen, dass beide aneinander gebunden sind - für einen Anfänger ist ungenaue Ausdrucksweise aber was anneres als eine Erleichterung 😉.

Jo, und dann kommemer zum Haupt-Problem: Treeview ist garnet Databinding-fähig.

Auch ist die Anforderung unklar - was soll auf oberster Ebene im Tv angezeigt werden, was auf der 1. Ebene, was auf der 2.?

Oder liegt gar eine wirkliche rekursive Baumstruktur vor, die beliebig tief verschachtelt sein kann (wie etwa die Nodes im DateiBrowser)?

Der frühe Apfel fängt den Wurm.