DataRowView クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
-
DataRowView
- 実装
例
次の例では、 プロパティを RowVersion 使用して、 内の行の状態を確認します DataRowView。 (を使用DataRowViewする別の例については、 を参照してくださいRowFilter)。
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
注釈
コントロールなどの DataGrid データが表示されるたびに、各行の 1 つのバージョンのみを表示できます。 表示される行は です DataRowView。
にはDataRowView、および Proposed
の 4 つの異なるバージョン状態Default
Original
Current
のいずれかを指定できます。
で DataRowをBeginEdit呼び出すと、編集された値がProposed
値になります。 または がCancelEdit呼び出されるまで、行には Original
バージョンと バージョンがありますProposed
。EndEdit CancelEditが呼び出されると、提案されたバージョンは破棄され、値は にOriginal
戻ります。 が呼び出された場合 EndEdit 、 DataRowView にはバージョンがありません Proposed
。代わりに、提案された値が現在の値になります。 既定値は、既定値が定義された列がある行でのみ使用できます。
プロパティ
DataView |
この行が属する DataView を取得します。 |
IsEdit |
行が編集モードかどうかを示します。 |
IsNew |
DataRowView が新しいかどうかを示します。 |
Item[Int32] |
指定した列の値を取得または設定します。 |
Item[String] |
指定した列の値を取得または設定します。 |
Row |
表示されている DataRow を取得します。 |
RowVersion |
DataRow の現在のバージョンの説明を取得します。 |
メソッド
BeginEdit() |
編集プロシージャを開始します。 |
CancelEdit() |
編集プロシージャをキャンセルします。 |
CreateChildView(DataRelation) |
指定した子 DataView を使用して子 DataTable の DataRelation を返します。 |
CreateChildView(DataRelation, Boolean) |
指定した DataRelation と親を使用して子 DataTable の DataView を返します。 |
CreateChildView(String) |
指定した子 DataView 名を使用して子 DataTable の DataRelation を返します。 |
CreateChildView(String, Boolean) |
指定した DataView 名と親を使用して子 DataTable の DataRelation を返します。 |
Delete() |
行を削除します。 |
EndEdit() |
DataRow に対する変更をコミットし、BeginEdit() によって開始された編集セッションを終了します。 CancelEdit() への変更を破棄するには、DataRow を使用します。 |
Equals(Object) |
現在の DataRowView が指定したオブジェクトと同一かどうかを示す値を取得します。 |
GetHashCode() |
DataRow オブジェクトのハッシュ コードを返します。 |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
イベント
PropertyChanged |
DataRowView プロパティの変更時に発生するイベント。 |
明示的なインターフェイスの実装
適用対象
スレッド セーフ
この型は、マルチスレッド読み取り操作に安全です。 書き込み操作は同期する必要があります。
こちらもご覧ください
.NET