DataRowView Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine angepasste Ansicht eines .DataRow
public ref class DataRowView : System::ComponentModel::ICustomTypeDescriptor, System::ComponentModel::IDataErrorInfo, System::ComponentModel::IEditableObject, System::ComponentModel::INotifyPropertyChanged
public ref class DataRowView : System::ComponentModel::ICustomTypeDescriptor, System::ComponentModel::IDataErrorInfo, System::ComponentModel::IEditableObject
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject, System.ComponentModel.INotifyPropertyChanged
public class DataRowView : System.ComponentModel.ICustomTypeDescriptor, System.ComponentModel.IDataErrorInfo, System.ComponentModel.IEditableObject
type DataRowView = class
interface ICustomTypeDescriptor
interface IDataErrorInfo
interface IEditableObject
interface INotifyPropertyChanged
type DataRowView = class
interface ICustomTypeDescriptor
interface IEditableObject
interface IDataErrorInfo
type DataRowView = class
interface ICustomTypeDescriptor
interface IEditableObject
interface IDataErrorInfo
interface INotifyPropertyChanged
Public Class DataRowView
Implements ICustomTypeDescriptor, IDataErrorInfo, IEditableObject, INotifyPropertyChanged
Public Class DataRowView
Implements ICustomTypeDescriptor, IDataErrorInfo, IEditableObject
- Vererbung
-
DataRowView
- Implementiert
Beispiele
Im folgenden Beispiel wird die RowVersion Eigenschaft verwendet, um den Status einer Zeile in der DataRowView. (Weitere Informationen finden Sie RowFilter unter Verwendung von DataRowView.)
private static void DemonstrateRowVersion()
{
// Create a DataTable with one column.
DataTable table = new DataTable("Table");
DataColumn column = new DataColumn("Column");
table.Columns.Add(column);
// Add ten rows.
DataRow row;
for (int i = 0; i < 10; i++)
{
row = table.NewRow();
row["Column"] = "item " + i;
table.Rows.Add(row);
}
table.AcceptChanges();
// Create a DataView with the table.
DataView view = new DataView(table);
// Change one row's value:
table.Rows[1]["Column"] = "Hello";
// Add one row:
row = table.NewRow();
row["Column"] = "World";
table.Rows.Add(row);
// Set the RowStateFilter to display only added
// and modified rows.
view.RowStateFilter = DataViewRowState.Added |
DataViewRowState.ModifiedCurrent;
// Print those rows. Output includes "Hello" and "World".
PrintView(view, "ModifiedCurrent and Added");
// Set filter to display only originals of modified rows.
view.RowStateFilter = DataViewRowState.ModifiedOriginal;
PrintView(view, "ModifiedOriginal");
// Delete three rows.
table.Rows[1].Delete();
table.Rows[2].Delete();
table.Rows[3].Delete();
// Set the RowStateFilter to display only deleted rows.
view.RowStateFilter = DataViewRowState.Deleted;
PrintView(view, "Deleted");
// Set filter to display only current rows.
view.RowStateFilter = DataViewRowState.CurrentRows;
PrintView(view, "Current");
// Set filter to display only unchanged rows.
view.RowStateFilter = DataViewRowState.Unchanged;
PrintView(view, "Unchanged");
// Set filter to display only original rows.
// Current values of unmodified rows are also returned.
view.RowStateFilter = DataViewRowState.OriginalRows;
PrintView(view, "OriginalRows");
}
private static void PrintView(DataView view, string label)
{
Console.WriteLine("\n" + label);
for (int i = 0; i < view.Count; i++)
{
Console.WriteLine(view[i]["Column"]);
Console.WriteLine("DataViewRow.RowVersion: {0}",
view[i].RowVersion);
}
}
Private Sub DemonstrateRowVersion()
Dim i As Integer
' Create a DataTable with one column.
Dim table As New DataTable("Table")
Dim column As New DataColumn("Column")
table.Columns.Add(column)
' Add ten rows.
Dim row As DataRow
For i = 0 To 9
row = table.NewRow()
row("Column") = "item " + i.ToString()
table.Rows.Add(row)
Next i
table.AcceptChanges()
' Create a DataView with the table.
Dim view As New DataView(table)
' Change one row's value:
table.Rows(1)("Column") = "Hello"
' Add one row:
row = table.NewRow()
row("Column") = "World"
table.Rows.Add(row)
' Set the RowStateFilter to display only added and modified rows.
view.RowStateFilter = _
DataViewRowState.Added Or DataViewRowState.ModifiedCurrent
' Print those rows. Output includes "Hello" and "World".
PrintView(view, "ModifiedCurrent and Added")
' Set filter to display only originals of modified rows.
view.RowStateFilter = DataViewRowState.ModifiedOriginal
PrintView(view, "ModifiedOriginal")
' Delete three rows.
table.Rows(1).Delete()
table.Rows(2).Delete()
table.Rows(3).Delete()
' Set the RowStateFilter to display only deleted rows.
view.RowStateFilter = DataViewRowState.Deleted
PrintView(view, "Deleted")
' Set filter to display only current rows.
view.RowStateFilter = DataViewRowState.CurrentRows
PrintView(view, "Current")
' Set filter to display only unchanged rows.
view.RowStateFilter = DataViewRowState.Unchanged
PrintView(view, "Unchanged")
' Set filter to display only original rows.
' Current values of unmodified rows are also returned.
view.RowStateFilter = DataViewRowState.OriginalRows
PrintView(view, "OriginalRows")
End Sub
Private Sub PrintView(ByVal view As DataView, ByVal label As String)
Console.WriteLine(ControlChars.Cr + label)
Dim i As Integer
For i = 0 To view.Count - 1
Console.WriteLine(view(i)("Column"))
Console.WriteLine("DataRowView.RowVersion: {0}", _
view(i).RowVersion)
Next i
End Sub
Hinweise
Immer wenn Daten angezeigt werden, z. B. in einem DataGrid Steuerelement, können nur eine Version jeder Zeile angezeigt werden. Die angezeigte Zeile ist ein DataRowView.
A DataRowView kann einen von vier verschiedenen Versionszuständen aufweisen: Default, , Original, Current, und Proposed.
Nach dem Aufrufen BeginEdit eines Werts DataRowwird jeder bearbeitete Wert zum Proposed Wert. Bis entweder CancelEdit oder EndEdit wird aufgerufen, hat die Zeile eine Original und eine Proposed Version. Wenn CancelEdit sie aufgerufen wird, wird die vorgeschlagene Version verworfen, und der Wert wird wiederhergestellt Original. Wenn EndEdit sie aufgerufen wird, weist Proposed die DataRowView Version nicht mehr auf. Stattdessen wird der vorgeschlagene Wert zum aktuellen Wert. Standardwerte sind nur für Zeilen verfügbar, die Spalten mit definierten Standardwerten aufweisen.
Eigenschaften
| Name | Beschreibung |
|---|---|
| DataView |
Ruft die DataView Zeile ab, zu der diese Zeile gehört. |
| IsEdit |
Gibt an, ob sich die Zeile im Bearbeitungsmodus befindet. |
| IsNew |
Gibt an, ob eine DataRowView neu ist. |
| Item[Int32] |
Dient zum Abrufen oder Festlegen eines Werts in einer angegebenen Spalte. |
| Item[String] |
Dient zum Abrufen oder Festlegen eines Werts in einer angegebenen Spalte. |
| Row |
Ruft das DataRow Angezeigte ab. |
| RowVersion |
Ruft die aktuelle Versionsbeschreibung der DataRow. |
Methoden
| Name | Beschreibung |
|---|---|
| BeginEdit() |
Beginnt eine Bearbeitungsprozedur. |
| CancelEdit() |
Bricht eine Bearbeitungsprozedur ab. |
| CreateChildView(DataRelation, Boolean) |
Gibt ein DataView Element für das untergeordnete DataTable Element mit dem angegebenen und übergeordneten DataRelation Element zurück. |
| CreateChildView(DataRelation) |
Gibt ein DataView Element für das untergeordnete Element DataTable mit dem angegebenen untergeordneten Element DataRelationzurück. |
| CreateChildView(String, Boolean) |
Gibt ein DataView Element für das untergeordnete Element DataTable mit dem angegebenen Namen und dem übergeordneten DataRelation Element zurück. |
| CreateChildView(String) |
Gibt einen DataView Wert für das untergeordnete Element DataTable mit dem angegebenen untergeordneten DataRelation Namen zurück. |
| Delete() |
Löscht eine Zeile. |
| EndEdit() |
Führt Änderungen an der zugrunde liegenden DataRow Datei durch und beendet die Bearbeitungssitzung, mit BeginEdit()der begonnen wurde. Verwenden Sie diese Verwendung CancelEdit() , um die an der DataRowDatei vorgenommenen Änderungen zu verwerfen. |
| Equals(Object) |
Ruft einen Wert ab, der angibt, ob der aktuelle DataRowView mit dem angegebenen Objekt identisch ist. |
| GetHashCode() |
Gibt den Hashcode des DataRow Objekts zurück. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Ereignisse
| Name | Beschreibung |
|---|---|
| PropertyChanged |
Ereignis, das ausgelöst wird, wenn eine DataRowView Eigenschaft geändert wird. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| ICustomTypeDescriptor.GetAttributes() |
Gibt eine Auflistung von benutzerdefinierten Attributen für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetClassName() |
Gibt den Klassennamen dieser Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetComponentName() |
Gibt den Namen dieser Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetConverter() |
Gibt einen Typkonverter für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetDefaultEvent() |
Gibt das Standardereignis für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetDefaultProperty() |
Gibt die Standardeigenschaft für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetEditor(Type) |
Gibt einen Editor des angegebenen Typs für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetEvents() |
Gibt die Ereignisse für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetEvents(Attribute[]) |
Gibt die Ereignisse für diese Instanz einer Komponente mit angegebenen Attributen zurück. |
| ICustomTypeDescriptor.GetProperties() |
Gibt die Eigenschaften für diese Instanz einer Komponente zurück. |
| ICustomTypeDescriptor.GetProperties(Attribute[]) |
Gibt die Eigenschaften für diese Instanz einer Komponente mit angegebenen Attributen zurück. |
| ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Gibt ein Objekt zurück, das die durch den angegebenen Eigenschaftsdeskriptor beschriebene Eigenschaft enthält. |
| IDataErrorInfo.Error |
Ruft eine Meldung ab, die alle Überprüfungsfehler für das Objekt beschreibt. |
| IDataErrorInfo.Item[String] |
Ruft die Fehlermeldung für die Eigenschaft mit dem angegebenen Namen ab. |
Gilt für:
Threadsicherheit
Dieser Typ ist für Multithread-Lesevorgänge sicher. Sie müssen alle Schreibvorgänge synchronisieren.