Wie finde ich eine Zeile in einem DataSet/DataTable in C#, wenn die ID bekannt ist?

Antwort vom

Um eine Zeile (Row) aus einer `DataTable` in C# anhand einer bekannten ID zu finden, kannst du die Methode `Select` oder die Methode `Rows.Find` verwenden. Hier sind beide Varianten: **Variante 1: Mit `Select`** ```csharp // Angenommen, deine DataTable heißt "table" und die Spalte mit der ID heißt "Id" int gesuchteId = 42; DataRow[] gefundeneZeilen = table.Select($"Id = {gesuchteId}"); if (gefundeneZeilen.Length > 0) { DataRow zeile = gefundeneZeilen[0]; // Zugriff auf die Zeile möglich } else { // Keine Zeile mit dieser ID gefunden } ``` **Variante 2: Mit `Rows.Find` (nur wenn die ID-Spalte ein Primärschlüssel ist)** ```csharp // Primärschlüssel muss gesetzt sein: table.PrimaryKey = new DataColumn[] { table.Columns["Id"] }; int gesuchteId = 42; DataRow zeile = table.Rows.Find(gesuchteId); if (zeile != null) { // Zugriff auf die Zeile möglich } else { // Keine Zeile mit dieser ID gefunden } ``` **Hinweis:** - Bei `Select` ist die Rückgabe ein Array, da theoretisch mehrere Zeilen gefunden werden könnten. - Bei `Find` wird direkt die Zeile zurückgegeben, aber die Spalte muss als Primärschlüssel definiert sein. **Weitere Infos:** - [DataTable.Select-Dokumentation (Microsoft)](https://learn.microsoft.com/de-de/dotnet/api/system.data.datatable.select) - [DataRowCollection.Find-Dokumentation (Microsoft)](https://learn.microsoft.com/de-de/dotnet/api/system.data.datarowcollection.find) Falls du LINQ verwenden möchtest, geht es auch so: ```csharp using System.Linq; int gesuchteId = 42; DataRow zeile = table.AsEnumerable().FirstOrDefault(row => row.Field<int>("Id") == gesuchteId); if (zeile != null) { // Zugriff auf die Zeile möglich } ``` Damit kannst du flexibel und effizient nach einer Zeile mit einer bestimmten ID suchen.

Verwandte Fragen

Wie kann man in C# WPF eine DataGridView-Zelle einfärben?

In WPF gibt es kein direktes DataGridView (dgv) wie in Windows Forms, sondern das DataGrid. Um eine Zelle im WPF-DataGrid einzufärben, nutzt du CellStyle oder Conditional Formatting mit DataTrigg...

Wie kann ich in C# eine DataGridView-Zelle rot einfärben?

Um eine einzelne Zelle in einem DataGridView in C# rot einzufärben, kannst du die Hintergrundfarbe der gewünschten Zelle über die Style-Eigenschaft ändern. Hier ein Beispiel: csha...

Kann man mit C# PowerShell-Kommandos ausführen?

Ja, mit C# kannst du PowerShell-Kommandos ausführen. Das geht am einfachsten mit der Klasse System.Management.Automation.PowerShell, die Teil des .NET Frameworks bzw. des NuGet-Pakets Microsoft.P...

Kann man mit C# ein PowerShell-Command ausführen?

Ja, mit C# kannst du PowerShell-Kommandos ausführen. Das geht zum Beispiel mit der Klasse System.Management.Automation.PowerShell aus dem NuGet-Paket Microsoft.PowerShell.SDK. Alternativ kannst d...

Wie kann ich in PrimeFaces 10.0 das Filtern einer DataTable erst beim Verlassen des Filterfelds (onBlur) auslösen statt bei jedem Keyup?

In PrimeFaces 10.0 wird das Standardverhalten beim Filtern einer DataTable durch das Attribut filterEvent gesteuert. Standardmäßig ist dieses auf "keyup" gesetzt, was bedeutet, da...