Manfred X schrieb:
| Zitat: |  | Erkläre genauer, was Deine Zielsetzung ist, was also der User
durch solche Satzverschiebungen bezwecken möchte? |  |
Es soll ein manuelles Sortieren der Listen-Einträge (GridView-Zeilen)
durch den User ermöglicht werden.
Sorry, das bringt uns alle nicht weiter. Also ich beschreib's
nochmal im Detail.
Ich hab folgende Klasse definiert:
Public Class DataGrid_Class
Public Sub New(ByVal name As String, ByVal typ As String)
_name = name
_type = typ
End Sub
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal value As String)
_name = value
End Set
End Property
Private _type As String
Public Property Typ() As String
Get
Return _type
End Get
Set(ByVal value As String)
_type = value
End Set
End Property Also eine einfache Klasse mit Elementen 'Name' und 'Typ',
plus Get und Set Properties.
Dann definiere ich damit eine Liste, lt. Deinem Vorschlag
eine BindingList:
Dim list = New BindingList(Of DataGrid_Class) Dann fülle ich die Liste mit Daten (also jew. 2 Strings
je DataGrid_Class, einen für 'Name' und einen für 'Typ')
und binde danach das Ganze ans GridView, entweder mit:
gridview_1.DataSource = list oder was ich alternativ versucht habe, so:
Dim bs As New BindingSource
bs.DataSource = list
gridview_1.DataSource = bs Auf diese Weise wird mir mein Listen-Inhalt zweispaltig im
GridView angezeigt, plus automatisch erstellte Spalten-Header
'Name' und 'Typ' (wie in der Klasse definiert).
Wenn ich jetzt mit Programm-Code versuche, zwei GridView-Zeilen
zu tauschen (also mit Rows.RemoveAt an der alten Position und
Rows.Insert an der neuen Position), kommt folgender Fehler:
Zeilen können nicht automatisch zur Zeilenauflistung der
DataGridView hinzugefügt werden, wenn das Steuerelement
datengebunden ist.
Es bringt mir wirklich nix, wenn Du mir jetzt abstrakt was
erklärst oder komplexe Beispiele zum Binden usw. zeigst.
Gehen wir es doch BITTE mal ganz simpel an:
Was muss ich machen, damit ich zwei Zeilen vertauschen
kann und das sowohl im GridView wie auch in der Liste
automatisch übernommen wird?
Wenn ich meine Klasse irgendwie ändern soll oder die
Listen-Art, oder irgendwas hinzufügen oder weglassen, oder
die Zeilen in der BindingSource oder in der BindingList
löschen und einfügen soll statt direkt im GridView, oder
das Ganze komplett anders angehen soll, oder wasjetztauchimmer,
bitte erkläre mir wie genau und warum und wieso. Wenn ich DAS
dann verstanden hab, können wir gern über das Drumrum reden.
Beitrag wurde zuletzt am 23.07.14 um 22:43:32 editiert. |