DataRow.AcceptChanges メソッド
前回 AcceptChanges を呼び出した以降にこの行に対して行われたすべての変更をコミットします。
Public Sub AcceptChanges()
[C#]
public void AcceptChanges();
[C++]
public: void AcceptChanges();
[JScript]
public function AcceptChanges();
例外
例外の種類 | 条件 |
---|---|
RowNotInTableException | 行がこのテーブルに属していません。 |
解説
AcceptChanges を呼び出すと、 EndEdit メソッドが暗黙的に呼び出されて、編集が終了します。この行の RowState が Added または Modified だった場合、 RowState は Unchanged になります。 RowState が Deleted だった場合、その行は削除されます。
詳細については、 BeginEdit メソッドのトピックを参照してください。
DataTable クラスには、テーブル全体に影響を与える AcceptChanges メソッドも含まれます。
使用例
[Visual Basic, C#, C++] 最初に 1 列の新しい DataTable を作成してから、単一の DataRow を作成する例を次に示します。 DataRow の作成、追加、変更、および削除時に、その RowState が出力されます。
Private Sub DemonstrateAcceptChanges()
' Run a function to create a DataTable with one column.
Dim myTable As DataTable = MakeTable()
Dim myRow As DataRow
' Create a new DataRow.
myRow = myTable.NewRow()
' Detached row.
Console.WriteLine("New Row " & myRow.RowState)
myTable.Rows.Add(myRow)
' New row.
Console.WriteLine("AddRow " & myRow.RowState)
myTable.AcceptChanges()
' Unchanged row.
Console.WriteLine("AcceptChanges " & myRow.RowState)
myRow("FirstName") = "Scott"
' Modified row.
Console.WriteLine("Modified " & myRow.RowState)
myRow.Delete()
' Deleted row.
Console.WriteLine("Deleted " & myRow.RowState)
End Sub
Private Function MakeTable()As DataTable
' Make a simple table with one column.
Dim dt As DataTable = New DataTable("myTable")
Dim dcFirstName As DataColumn = New DataColumn("FirstName", Type.GetType("System.String"))
dt.Columns.Add(dcFirstName)
MakeTable = dt
End Function
[C#]
private void DemonstrateAcceptChanges(){
//Run a function to create a DataTable with one column.
DataTable myTable = MakeTable();
DataRow myRow;
// Create a new DataRow.
myRow = myTable.NewRow();
// Detached row.
Console.WriteLine("New Row " + myRow.RowState);
myTable.Rows.Add(myRow);
// New row.
Console.WriteLine("AddRow " + myRow.RowState);
myTable.AcceptChanges();
// Unchanged row.
Console.WriteLine("AcceptChanges " + myRow.RowState);
myRow["FirstName"] = "Scott";
// Modified row.
Console.WriteLine("Modified " + myRow.RowState);
myRow.Delete();
// Deleted row.
Console.WriteLine("Deleted " + myRow.RowState);
}
private DataTable MakeTable(){
// Make a simple table with one column.
DataTable dt = new DataTable("myTable");
DataColumn dcFirstName = new DataColumn("FirstName", Type.GetType("System.String"));
dt.Columns.Add(dcFirstName);
return dt;
}
[C++]
private:
void DemonstrateAcceptChanges(){
//Run a function to create a DataTable with one column.
DataTable* myTable = MakeTable();
DataRow* myRow;
// Create a new DataRow.
myRow = myTable->NewRow();
// Detached row.
Console::WriteLine(S"New Row {0}", __box(myRow->RowState));
myTable->Rows->Add(myRow);
// New row.
Console::WriteLine(S"AddRow {0}", __box(myRow->RowState));
myTable->AcceptChanges();
// Unchanged row.
Console::WriteLine(S"AcceptChanges {0}", __box(myRow->RowState));
myRow->Item[S"FirstName"] = S"Scott";
// Modified row.
Console::WriteLine(S"Modified {0}", __box(myRow->RowState));
myRow->Delete();
// Deleted row.
Console::WriteLine(S"Deleted {0}", __box(myRow->RowState));
}
DataTable* MakeTable(){
// Make a simple table with one column.
DataTable* dt = new DataTable(S"myTable");
DataColumn* dcFirstName = new DataColumn(S"FirstName", Type::GetType(S"System.String"));
dt->Columns->Add(dcFirstName);
return dt;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
DataRow クラス | DataRow メンバ | System.Data 名前空間 | AcceptChanges | BeginEdit | CancelEdit | DataViewRowState | DataTable | EndEdit | HasVersion | Item | RowState