DataTableCollection.CollectionChanging イベント
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataTableCollection Dim handler As CollectionChangeEventHandler AddHandler instance.CollectionChanging, handler
public: event CollectionChangeEventHandler^ CollectionChanging { void add (CollectionChangeEventHandler^ value); void remove (CollectionChangeEventHandler^ value); }


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()); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDataTableCollection.CollectionChanging イベントを検索する場合は、下記のリンクをクリックしてください。

- DataTableCollection.CollectionChanging イベントのページへのリンク