Ich sehe dieses Problem vielleicht rückwärts, aber ich bin trotzdem neugierig. Gibt es eine Möglichkeit, ein DataTable
von dem zu erstellen, was aktuell in DataGridView
angezeigt wird?
Um es klar zu sagen, ich weiß, dass Sie dies DataTable data = (DataTable)(dgvMyMembers.DataSource);
tun können, allerdings mit versteckten Spalten. Ich möchte es nur aus den angezeigten Spalten erstellen.
Hoffe, dass das Sinn macht.
Also habe ich am Ende eine Kombination aus ein paar Antworten versucht, wie es am besten schien. Unten ist was ich versuche. Grundsätzlich erstelle ich die DataTable von der DataSource und arbeite dann rückwärts, basierend darauf, ob eine Spalte sichtbar ist oder nicht. Nachdem eine Spalte entfernt wurde, erhalte ich jedoch Collection was modified; enumeration operation may not execute
für die nächste Iteration von foreach
.
Ich bin verwirrt, da ich nicht versuche, zu ändern, um die DataGridView
, nur die DataTable
, also was ist los?
Nun, Sie können
tun %Vor%und dann
verwenden %Vor% Ich denke, es ist der schnellste Weg. Dies ändert die Datenquellentabelle, wenn Sie es nicht möchten, dann ist das Kopieren der Tabelle erforderlich. Beachten Sie auch, dass DataGridView.DataSource
nicht notwendigerweise DataTable
type ist.
Tags und Links .net c# datatable datagridview