C# Table.Rows[index].Delete()
Wenn die Methode DataRow.Delete() aufgerufen wird, wird die RowState-Eigenschaft der entsprechenden Zeile auf DataRowState.Deleted gesetzt. Wenn der Status einer Zeile DataRowState.Deleted ist, können wir unter normalen Umständen nicht auf diese Zeile zugreifen. Wenn Sie gelöschte Originaldaten abrufen müssen, können Sie die überladene Methode ihrer Eintragseigenschaft verwenden, um den Parameter DataRowVersion.Original zu übergeben.
Der Code sieht so aus:
if (typedDataRow.RowState == DataRowState.Deleted) id = (string)typedDataRow["CustomerID", DataRowVersion.Original];
Verwenden Sie datatable.Rows[i].Delete(), um Zeilen zu löschen, oder drücken Sie die Entf-Taste im DataGrid, um Zeilen zu löschen und dann auf die Tabelle zuzugreifen. Der Fehler „Gelöschte Zeile greift auf die Informationen der Zeile zu“ kann nicht übergeben werden. Der Grund ist wie folgt:
Nach Delete () ist die Methode datatable.AccepteChanges () erforderlich, um das vollständige Löschen zu bestätigen, da Delete () nur den Status der entsprechenden Spalte als gelöscht markiert und auch zurückgesetzt werden kann über datatable.RejectChanges(), um das Löschen der Zeile abzubrechen.
Also wenn Sie die Datenzeile vollständig löschen möchten, müssen Sie die Methoden Delete() und AccepteChanges() gleichzeitig verwenden , oder die Methode datatable.Rows.RemoveAt(i. verwenden )-Methode zum direkten Löschen von , wobei i den Zeilenindex darstellt und eine andere Methode datatable.Rows.Remove(DataRow dr) ist, um die angegebene Zeile zu löschen.
Beachten Sie jedoch bei der Verwendung von datatable.Rows.RemoveAt(i), dass Sie 0, 1 in nicht kontinuierlich löschen die ursprüngliche Tabelle. Nach dem Löschen von 0 Zeilen wird die ursprüngliche 1 Zeile zu 0 Zeilen, sodass datatable.Rows.RemoveAt(1) tatsächlich 2 Zeilen der ursprünglichen Tabelle löscht. Zu diesem Zeitpunkt sollte es i = i - 1;
sein. Sie sollten also datatable.Rows.RemoveAt(i)
mit Vorsicht verwenden:
Zeilenversion (DataRowVersion)
Das Zeilenobjekt (DataRow) verfügt über vier verschiedene Zeilenversionen, nämlich „Aktuell“, „Original“, „Vorgeschlagen“ und „Standard“. Es folgt eine kurze Beschreibung dieser Zeilenversionen.
Aktuell: Stellt den aktuellen Wert der Zeile dar. Für eine Zeile im gelöschten Status ist keine Version der Zeile vorhanden.
Original: Stellt den ursprünglichen Wert der Zeile dar. Die Zeilenversion im Status „Hinzugefügt“ existiert nicht.
Vorgeschlagen: Gibt den empfohlenen Wert der Zeile an. Diese Zeilenversion existiert für Zeilen, die nicht zur Tabelle gehören, d. h. Zeilen im Status „Getrennt“; diese Zeilenversion existiert auch für Zeilen, die bearbeitet werden.
Standard: Stellt die Standardversion der Zeile dar. Die Standardzeilenversion für Zeilen im Status „Hinzugefügt“, „Geändert“ oder „Unverändert“ ist „aktuell“. Für Zeilen im Status „Gelöscht“ ist die Standardzeilenversion „Original“. Die Standardversion für Zeilen im Status „Getrennt“ wird vorgeschlagen.
Das Obige ist der Inhalt von C# Table.Rows[index].Delete() Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.
