DataTableCollection.CollectionChanging イベントとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > DataTableCollection.CollectionChanging イベントの意味・解説 

DataTableCollection.CollectionChanging イベント

DataTable オブジェクト追加または削除したことが原因で DataTableCollection が変更されているときに発生します

名前空間: System.Data
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Event CollectionChanging As
 CollectionChangeEventHandler
Dim instance As DataTableCollection
Dim handler As CollectionChangeEventHandler

AddHandler instance.CollectionChanging, handler
public event CollectionChangeEventHandler CollectionChanging
public:
event CollectionChangeEventHandler^ CollectionChanging {
    void add (CollectionChangeEventHandler^ value);
    void remove (CollectionChangeEventHandler^ value);
}
/** @event */
public void add_CollectionChanging (CollectionChangeEventHandler
 value)

/** @event */
public void remove_CollectionChanging (CollectionChangeEventHandler
 value)
JScript では、イベント使用できますが、新規に宣言することはできません。
解説解説
使用例使用例

CollectionChanging イベント使用する方法の例を次に示します

Public Sub TableCollectionCollectionChanging()
    ' Create a DataSet with two tables
    Dim dataSet As DataSet = New
 DataSet()

    AddHandler dataSet.Tables.CollectionChanging, _
        AddressOf Collection_Changing

    ' Create Customer table
    Dim customersTable As DataTable = New
 DataTable("Customers")
    customersTable.Columns.Add("customerId", _
        System.Type.GetType("System.Integer")).AutoIncrement
 = True
    customersTable.Columns.Add("name", _
        System.Type.GetType("System.String"))
    customersTable.PrimaryKey = New DataColumn() _
        {customersTable.Columns("customerId")}

    ' Create Orders table
    Dim ordersTable As DataTable = New
 DataTable("Orders")
    ordersTable.Columns.Add("orderId", _
        System.Type.GetType("System.Integer")).AutoIncrement
 = True
    ordersTable.Columns.Add("customerId", _
        System.Type.GetType("System.Integer"))
    ordersTable.Columns.Add("amount", System.Type.GetType("System.Double"))
    ordersTable.PrimaryKey = New DataColumn() {ordersTable.Columns("orderId")}

    ' Add the tables to the DataTableCollection
    dataSet.Tables.AddRange(New DataTable() {customersTable, ordersTable})

    ' Remove all tables
    ' First check to see if the table can be removed and
    ' then remove it.
    '
    ' You cannot use a For Each loop to remove items
    ' from a collection.
    Do While (dataSet.Tables.Count > 0)
        Dim table As DataTable
        table = dataSet.Tables(0)
        If (dataSet.Tables.CanRemove(table)) Then
            dataSet.Tables.RemoveAt(0)
        End If
    Loop

    Console.WriteLine("dataSet has {0} tables", dataSet.Tables.Count)
End Sub

Private Sub Collection_Changing(ByVal
 sender As Object, _
    ByVal e As System.ComponentModel.CollectionChangeEventArgs)
    ' Implementing this event allows you to abort a change
    ' to the collection by raising an exception which you can
    ' catch.
    Console.WriteLine( _
        "Collection_Changing Event: '{0}'\table
 element={1}", _
        e.Action.ToString(), e.Element.ToString())
End Sub
public static void TableCollectionCollectionChanging()
{
    // Create a DataSet with two tables
    DataSet dataSet = new DataSet();

    // Assign the event-handler function for the 
    // CollectionChangeEvent.
    dataSet.Tables.CollectionChanging +=
        new System.ComponentModel.CollectionChangeEventHandler(
        Collection_Changing);

    // create Customer table
    DataTable customersTable = new DataTable("Customers");
    customersTable.Columns.Add("customerId",
        typeof(int)).AutoIncrement = true;
    customersTable.Columns.Add("name",
        typeof(string));
    customersTable.PrimaryKey = new DataColumn[] { customersTable.Columns["customerId"]
 };

    // create Orders table
    DataTable ordersTable = new DataTable("Orders");
    ordersTable.Columns.Add("orderId",
        typeof(int)).AutoIncrement = true;
    ordersTable.Columns.Add("customerId",
        typeof(int));
    ordersTable.Columns.Add("amount",
        typeof(double));
    ordersTable.PrimaryKey = new DataColumn[] { ordersTable.Columns["orderId"]
 };

    dataSet.Tables.AddRange(new DataTable[] { customersTable,
 ordersTable });

    // Check to see if each table can be removed and then
    // remove it.
    while (dataSet.Tables.Count > 0)
    {
        DataTable table = dataSet.Tables[0];
        if (dataSet.Tables.CanRemove(table))
        {
            dataSet.Tables.RemoveAt(0);
        }
    }

    Console.WriteLine("dataSet has {0} tables",
        dataSet.Tables.Count);
}

private static void Collection_Changing(object
 sender,
    System.ComponentModel.CollectionChangeEventArgs e)
{
    // Implementing this event allows you to abort a change
    // to the collection by raising an exception which you can
    // catch.

    Console.WriteLine("Collection_Changing Event: '{0}'\table element={1}"
,
        e.Action.ToString(), e.Element.ToString());
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataTableCollection クラス
DataTableCollection メンバ
System.Data 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からDataTableCollection.CollectionChanging イベントを検索した結果を表示しています。
Weblioに収録されているすべての辞書からDataTableCollection.CollectionChanging イベントを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からDataTableCollection.CollectionChanging イベント を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

DataTableCollection.CollectionChanging イベントのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataTableCollection.CollectionChanging イベントのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS