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)!

Um die C# .NET -Entwicklung zu starten, müssen Sie: 1. Verstehen Sie das Grundkenntnis von C# und die Kernkonzepte des .NET -Frameworks; 2. Meister Sie die grundlegenden Konzepte von Variablen, Datentypen, Kontrollstrukturen, Funktionen und Klassen; 3.. 4. Mit Debugging -Techniken und Leistungsoptimierungsmethoden für häufige Fehler vertraut sein. Mit diesen Schritten können Sie nach und nach in die Welt von C#.NET eindringen und effiziente Anwendungen schreiben.

Die Beziehung zwischen C# und .NET ist untrennbar miteinander verbunden, aber nicht dasselbe. C# ist eine Programmiersprache, während .NET eine Entwicklungsplattform ist. C# wird verwendet, um Code zu schreiben, in .NETs Intermediate Language (IL) zu kompilieren und von der .NET -Laufzeit (CLR) ausgeführt zu werden.

C#.NET ist immer noch wichtig, da es leistungsstarke Tools und Bibliotheken bietet, die mehrere Anwendungsentwicklung unterstützen. 1) C# kombiniert .NET Framework, um die Entwicklung effizient und bequem zu machen. 2) Mechanismus zum Typensicherheit und Müllsammlung von C#erhöht die Vorteile. 3) .NET bietet eine plattformübergreifende laufende Umgebung und eine reichhaltige APIs, wodurch die Flexibilität der Entwicklung verbessert wird.

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

C# und .NET passen sich durch kontinuierliche Aktualisierungen und Optimierungen an die Bedürfnisse neuer Technologien an. 1) C# 9.0 und .NET5 Führen Sie den Datensatztyp und die Leistungsoptimierung ein. 2) .NETCORE verbessert die native und containerische Unterstützung von Cloud. 3) ASP.NetCore integriert sich in moderne Webtechnologien. 4) ML.NET unterstützt maschinelles Lernen und künstliche Intelligenz. 5) Asynchrone Programmierung und Best Practices verbessern die Leistung.

C#.NetissoBableFoREenterPrise-Level Applications-WithemicrosoftCosystemDuetoitsStrongtyPing, Richlibrary, Androbustperformance.

Der Programmierungsprozess von C# in .NET enthält die folgenden Schritte: 1) Schreiben von C# Code, 2) Kompilieren in eine mittlere Sprache (IL) und 3), die durch die .NET -Laufzeit (CLR) ausführt. Die Vorteile von C# in .NET sind die moderne Syntax, das leistungsstarke Typsystem und die enge Integration in das .NET -Framework, das für verschiedene Entwicklungsszenarien geeignet ist, von Desktop -Anwendungen bis hin zu Webdiensten.

C# ist eine moderne, objektorientierte Programmiersprache, die von Microsoft und als Teil des .NET-Frameworks entwickelt wurde. 1.C# unterstützt die objektorientierte Programmierung (OOP), einschließlich Einkapselung, Vererbung und Polymorphismus. 2. Asynchrones Programmieren in C# wird über Async implementiert und wartet auf Schlüsselwörter, um die Reaktionsfähigkeit der Anwendungen zu verbessern. 3.. Verwenden Sie LINQ, um Datensammlungen präzise zu verarbeiten. 4. Häufige Fehler umfassen Null-Referenzausnahmen und Indexausnahmen außerhalb des Bereichs. Zu den Debugging -Fähigkeiten gehört die Verwendung eines Debuggers und Ausnahmeberechnung. 5. Leistungsoptimierung umfasst die Verwendung von StringBuilder und das Vermeiden von unnötigem Packung und Unboxing.


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

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.