Hallo,
ich schreibe gerade an einem Programm, das aus bestehenden FE-Modellen für bestimmte Programme mittels API Schnittstelle Daten auslesen und Listen eigener Klassen schreiben soll.
Die globale Liste ist wie folgt definiert:
Die Daten stelle ich in einem DataGridView dar und nutze dabei die Properties als Headertext der einzelnen Spalten.
Nun möchte ich das DGV beim Klick auf die Header sortieren können, dabei hat mir das Netz bisher folgendes verraten:
1) Ich muss "Implements IBindingList" in meiner Klasse ergänzen, weil die Liste dies standardmäßig nicht unterstützt. Dabei wird vom Compiler automatisch Code in meiner Klasse ergänzt, aber das Programm hängt sich dann beim Ausführen auf. Muss ich den Code noch anpassen? Ich habe leider keine Beispiele im Netz gefunden die mir weitergeholfen haben, die anderen habe ich leider nicht verstanden. Zusätzlich werden dann in meinem DGV Spalten eingefügt, die ich nicht haben möchte; zwar kann man diese ausblenden, da ich aber ca. 10 solcher Klassen habe, gestaltet sich das automatische ausblenden als schwierig.
2) Ich müsste meine List vorher in eine DataTable konvertieren (kann ich da eine Funktion innerhalb der Klasse schreiben, die das bewerkstelligt und dann in meinem Code mittels z.B. Selected_Nodes_List.ConverttoDataTable aufgerufen wird?). Dieses könnte ich dann an ein DataView binden, welches ich wiederum an das DGV binde.
Ich möchte die Daten in dem DGV sortieren können (nur Zahl), eventuell einzelne Datensätze ausblenden können. Zusätzlich möchte ich das DGV nutzen um später Modell (über DirectX) zu zeichnen und Graphen zu erzeugen (z.B. Knotenverschiebungen für bestimmte Lastfälle). Welches wäre hier der beste Weg und könntet Ihr mir ein Minimalbeispiel aufzeigen?
Vielen Dank schonmal im Voraus
ich schreibe gerade an einem Programm, das aus bestehenden FE-Modellen für bestimmte Programme mittels API Schnittstelle Daten auslesen und Listen eigener Klassen schreiben soll.
VB.NET-Quellcode
- Public Class Class_Node_Attributes
- #Region "Variables"
- Public Node_Number As Integer
- Public Node_ID As Integer
- Public Node_Coordinate_X As Double
- Public Node_Coordinate_Y As Double
- Public Node_Coordinate_Z As Double
- #End Region
- #Region "Properties"
- Public Property Number() As Integer
- Get
- Return Node_Number
- End Get
- Set(ByVal value As Integer)
- Node_Number = value
- End Set
- End Property
- '..........
- #End Region
- End Class
Die globale Liste ist wie folgt definiert:
Die Daten stelle ich in einem DataGridView dar und nutze dabei die Properties als Headertext der einzelnen Spalten.
Nun möchte ich das DGV beim Klick auf die Header sortieren können, dabei hat mir das Netz bisher folgendes verraten:
1) Ich muss "Implements IBindingList" in meiner Klasse ergänzen, weil die Liste dies standardmäßig nicht unterstützt. Dabei wird vom Compiler automatisch Code in meiner Klasse ergänzt, aber das Programm hängt sich dann beim Ausführen auf. Muss ich den Code noch anpassen? Ich habe leider keine Beispiele im Netz gefunden die mir weitergeholfen haben, die anderen habe ich leider nicht verstanden. Zusätzlich werden dann in meinem DGV Spalten eingefügt, die ich nicht haben möchte; zwar kann man diese ausblenden, da ich aber ca. 10 solcher Klassen habe, gestaltet sich das automatische ausblenden als schwierig.
2) Ich müsste meine List vorher in eine DataTable konvertieren (kann ich da eine Funktion innerhalb der Klasse schreiben, die das bewerkstelligt und dann in meinem Code mittels z.B. Selected_Nodes_List.ConverttoDataTable aufgerufen wird?). Dieses könnte ich dann an ein DataView binden, welches ich wiederum an das DGV binde.
Ich möchte die Daten in dem DGV sortieren können (nur Zahl), eventuell einzelne Datensätze ausblenden können. Zusätzlich möchte ich das DGV nutzen um später Modell (über DirectX) zu zeichnen und Graphen zu erzeugen (z.B. Knotenverschiebungen für bestimmte Lastfälle). Welches wäre hier der beste Weg und könntet Ihr mir ein Minimalbeispiel aufzeigen?
Vielen Dank schonmal im Voraus