DataTable.RowDeleted イベント
テーブル内の行が削除された後に発生します。
Public Event RowDeleted As DataRowChangeEventHandler
[C#]
public event DataRowChangeEventHandler RowDeleted;
[C++]
public: __event DataRowChangeEventHandler* RowDeleted;
[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。
イベント データ
イベント ハンドラが、このイベントに関連するデータを含む、DataRowChangeEventArgs 型の引数を受け取りました。次の DataRowChangeEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 説明 |
---|---|
Action | DataRow で実行されたアクションを取得します。 |
Row | アクションが実行された行を取得します。 |
解説
詳細については、「 DataTable イベントの使用 」を参照してください。
使用例
Private Shared Sub DataTableRowDeleted()
Dim custTable As DataTable = New DataTable("Customers")
' add columns
custTable.Columns.Add( "id", Type.GetType("System.Int32") )
custTable.Columns.Add( "name", Type.GetType("System.String") )
custTable.Columns.Add( "address", Type.GetType("System.String") )
' set PrimaryKey
custTable.Columns( "id" ).Unique = true
custTable.PrimaryKey = New DataColumn() { custTable.Columns("id") }
' add a RowDeleted event handler for the table.
AddHandler custTable.RowDeleted, New DataRowChangeEventHandler( AddressOf Row_Deleted )
' add ten rows
Dim id As Integer
For id = 1 To 10
custTable.Rows.Add( _
New Object() { id, string.Format("customer{0}", id), string.Format("address{0}", id) } )
Next
custTable.AcceptChanges()
' Delete all the rows
Dim row As DataRow
For Each row In custTable.Rows
row.Delete()
Next
End Sub
Private Shared Sub Row_Deleted(sender As Object, e As DataRowChangeEventArgs)
Console.WriteLine( "Row_Deleted Event: name={0}; action={1}", _
e.Row("name", DataRowVersion.Original), e.Action)
End Sub
[C#]
private static void DataTableRowDeleted()
{
DataTable custTable = new DataTable("Customers");
// add columns
custTable.Columns.Add( "id", typeof(int) );
custTable.Columns.Add( "name", typeof(string) );
custTable.Columns.Add( "address", typeof(string) );
// set PrimaryKey
custTable.Columns[ "id" ].Unique = true;
custTable.PrimaryKey = new DataColumn[] { custTable.Columns["id"] };
// add a RowDeleted event handler for the table.
custTable.RowDeleted += new DataRowChangeEventHandler( Row_Deleted );
// add ten rows
for( int id=1; id<=10; id++ )
{
custTable.Rows.Add(
new object[] { id, string.Format("customer{0}", id), string.Format("address{0}", id) } );
}
custTable.AcceptChanges();
// Delete all the rows
foreach( DataRow row in custTable.Rows )
row.Delete();
}
private static void Row_Deleted( object sender, DataRowChangeEventArgs e )
{
Console.WriteLine( "Row_Deleted Event: name={0}; action={1}",
e.Row["name", DataRowVersion.Original], e.Action );
}
[C++]
public:
static void DataTableRowDeleted() {
DataTable* custTable = new DataTable(S"Customers");
// add columns
custTable->Columns->Add(S"id", __typeof(int));
custTable->Columns->Add(S"name", __typeof(String));
custTable->Columns->Add(S"address", __typeof(String));
// set PrimaryKey
custTable->Columns->Item[ S"id" ]->Unique = true;
DataColumn* columnArray[] = { custTable->Columns->Item[S"id"] };
custTable->PrimaryKey = columnArray;
// add a RowDeleted event handler for the table.
custTable->RowDeleted += new DataRowChangeEventHandler(0, Row_Deleted);
// add ten rows
for (int id=1; id<=10; id++) {
Object* temp0 [] = {__box(id), String::Format(S"customer {0}", __box(id)), String::Format(S"address {0}", __box(id)) };
custTable->Rows->Add(temp0);
}
custTable->AcceptChanges();
// Delete all the rows
System::Collections::IEnumerator* myEnum = custTable->Rows->GetEnumerator();
while (myEnum->MoveNext()) {
DataRow* row = __try_cast<DataRow*>(myEnum->Current);
row->Delete();
}
};
public:
static void Row_Deleted(Object* sender, DataRowChangeEventArgs* e) {
Console::WriteLine(S"Row_Deleted Event: name= {0}; action= {1}",
e->Row->Item[S"name", static_cast<int>(DataRowVersion::Original), e->Action]);
};
[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 ファミリ