Wie Sie per drag-and-drop Zeile in der gleichen datagridview
In eine Windows-Anwendung (Visual Studio) - (VB -) wie Sie mit drag und drop eine einzelne Zeile an eine andere postition zu ermöglichen für den Benutzer, um die Reihenfolge der Zeile? Ich habe nicht gefunden eine würdige Beispiele für diese noch.
InformationsquelleAutor Troy Mitchel | 2012-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein vb-version aus C# Antwort: Wie konnte ich per Drag und Drop DataGridView Zeilen unter einander?
Die form-Klasse von Variablen:
Drag-Ereignis:
Die Maus-Ereignisse:
Stellen Sie sicher, dass die Gitter
AllowDrop
- Eigenschaft auf true festgelegt.Rows cannot be programmatically added to the DataGridView's rows collection when the control is data-bound.
Wie der Fehler sagt, Ihre raster-Daten gebunden (Sie haben eine Datenquelle in es), was bedeutet, dass Sie können nicht ändern die Gitter direkt. In Ihrem Fall müssen Sie zum Bearbeiten der Datenquelle statt. Wenn Sie Probleme haben, stellen Sie eine neue Frage, und dokumentieren Sie entsprechend.
wie kann ich die Daten Bearbeiten, die Quelle statt? das ist mein code zum Befüllen des datagridview:
con = New SqlConnection con.ConnectionString = "Data Source=mssql;Initial Catalog=DATABASE;User ID=sa;Password=" con.Open() adap = New SqlDataAdapter("SELECT * FROM tablename", con) ds = New System.Data.DataSet() adap.Fill(ds, "TableNew") Datagridview1.DataSource = ds.Tables(0) con.Close()
Ihre Daten Tisch:
ds.Tables(0)
. Wenn Sie eine Zeile hinzufügen, die Daten-Tabelle, in Ihrem raster wird automatisch angezeigt.InformationsquelleAutor LarsTech
UPDATE:
Statt
änderung
dann ein Fehler Auftritt, wenn Sie ziehen Sie eine Zeile, um die "leere zone", wenn Sie mir nicht glauben, müssen Sie es versuchen.
Finale code (Nur der Teil "Die drag-Ereignisse") ist dieser:
InformationsquelleAutor Adrian LG
Hier ist eine Kontrolle ohne die genannten Fehler.
Set
AllowUserToOrderRows
undAllowDrop
zuTrue
im Windows Forms-Designer ein und ziehen Sie die Zeilen-Header, nicht den Inhalt.Ich habe auch festgestellt, dass ich, wenn ich verlängern einige WinForms-Steuerelemente dann der neue code muss kompiliert werden, wie 32-bit, um zu arbeiten (und können daher nur gesehen werden in der toolbox einmal zusammengestellt, wie 32-bit). Siehe stackoverflow.com/a/26539992/1624894 für details.
InformationsquelleAutor John
Danke für alles, code arbeiten. Ich war immer nur ein Fehler. Ich löste es.
wenn das datagridview "Bearbeitung Aktivieren" gesetzt ist, erhalten Sie eine Fehlermeldung, wenn Sie werfen Zeilenabstand. Sie können versuchen,. Ich löste es wie folgt:
Vielen Dank für alle weiteren Informationen
InformationsquelleAutor Yucel Solmaz
1.5 Verbesserungen für die Veranstaltung GridView.DragDrop:
Den ersten 50% Verbesserung Zu vermeiden, die descriped Fehler können Sie auch verwenden,
Zweite ist, setzen Sie den Fokus auf die aktuelle Zeile und die erste Zelle:
InformationsquelleAutor Tzwenni