DataRowView Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje dostosowany widok obiektu 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
- Dziedziczenie
-
DataRowView
- Implementuje
Przykłady
W poniższym przykładzie użyto RowVersion właściwości , aby określić stan wiersza w obiekcie DataRowView. (Zobacz RowFilter inny przykład przy użyciu polecenia 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
Uwagi
Za każdym razem, gdy dane są wyświetlane, na przykład w kontrolce DataGrid , można wyświetlić tylko jedną wersję każdego wiersza. Wyświetlany wiersz to DataRowView.
Element DataRowView może mieć jeden z czterech różnych stanów wersji: Default
, , Current
Original
i Proposed
.
Po wywołaniu BeginEdit metody DataRowkażda edytowana wartość staje się wartością Proposed
. Do momentu wywołania polecenia CancelEdit lub wiersz ma Original
wersję i Proposed
EndEdit . Jeśli CancelEdit jest wywoływana, proponowana wersja zostanie odrzucona, a wartość zostanie przywrócona do Original
. Jeśli EndEdit jest wywoływana, DataRowView nie ma Proposed
już wersji. Zamiast tego proponowana wartość staje się bieżącą wartością. Wartości domyślne są dostępne tylko w wierszach, które mają kolumny z zdefiniowanymi wartościami domyślnymi.
Właściwości
DataView |
Pobiera element , DataView do którego należy ten wiersz. |
IsEdit |
Wskazuje, czy wiersz jest w trybie edycji. |
IsNew |
Wskazuje, czy element DataRowView jest nowy. |
Item[Int32] |
Pobiera lub ustawia wartość w określonej kolumnie. |
Item[String] |
Pobiera lub ustawia wartość w określonej kolumnie. |
Row |
DataRow Pobiera wyświetlany element. |
RowVersion |
Pobiera bieżący opis wersji elementu DataRow. |
Metody
BeginEdit() |
Rozpoczyna procedurę edycji. |
CancelEdit() |
Anuluje procedurę edycji. |
CreateChildView(DataRelation) |
Zwraca element DataView dla elementu podrzędnego DataTable z określonym elementem podrzędnym DataRelation. |
CreateChildView(DataRelation, Boolean) |
Zwraca element DataView dla elementu podrzędnego DataTable z określonym DataRelation i nadrzędnym. |
CreateChildView(String) |
Zwraca wartość DataView dla elementu podrzędnego DataTable o określonej nazwie podrzędnej DataRelation . |
CreateChildView(String, Boolean) |
Zwraca element DataView dla elementu podrzędnego DataTable z określoną DataRelation nazwą i elementem nadrzędnym. |
Delete() |
Usuwa wiersz. |
EndEdit() |
Zatwierdza zmiany w bazowym DataRow obiekcie i kończy sesję edycji, która została rozpoczęta za pomocą BeginEdit()polecenia . Użyj polecenia CancelEdit() , aby odrzucić zmiany wprowadzone w obiekcie DataRow. |
Equals(Object) |
Pobiera wartość wskazującą, czy bieżący DataRowView jest identyczny z określonym obiektem. |
GetHashCode() |
Zwraca kod skrótu DataRow obiektu. |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Zdarzenia
PropertyChanged |
Zdarzenie wywoływane po DataRowView zmianie właściwości. |
Jawne implementacje interfejsu
ICustomTypeDescriptor.GetAttributes() |
Zwraca kolekcję atrybutów niestandardowych dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetClassName() |
Zwraca nazwę klasy tego wystąpienia składnika. |
ICustomTypeDescriptor.GetComponentName() |
Zwraca nazwę tego wystąpienia składnika. |
ICustomTypeDescriptor.GetConverter() |
Zwraca konwerter typów dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetDefaultEvent() |
Zwraca zdarzenie domyślne dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetDefaultProperty() |
Zwraca właściwość domyślną dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetEditor(Type) |
Zwraca edytor określonego typu dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetEvents() |
Zwraca zdarzenia dla tego wystąpienia składnika. |
ICustomTypeDescriptor.GetEvents(Attribute[]) |
Zwraca zdarzenia dla tego wystąpienia składnika z określonymi atrybutami. |
ICustomTypeDescriptor.GetProperties() |
Zwraca właściwości tego wystąpienia składnika. |
ICustomTypeDescriptor.GetProperties(Attribute[]) |
Zwraca właściwości tego wystąpienia składnika z określonymi atrybutami. |
ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor) |
Zwraca obiekt, który zawiera właściwość opisaną przez deskryptor określonej właściwości. |
IDataErrorInfo.Error |
Pobiera komunikat opisujący błędy weryfikacji dla obiektu. |
IDataErrorInfo.Item[String] |
Pobiera komunikat o błędzie dla właściwości o podanej nazwie. |
Dotyczy
Bezpieczeństwo wątkowe
Ten typ jest bezpieczny dla operacji odczytu wielowątkowego. Należy zsynchronizować wszystkie operacje zapisu.