DataTableCollection.CollectionChanging 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataTableCollection 개체가 추가되거나 제거되어 DataTable이 변경되는 동안 발생합니다.
public:
event System::ComponentModel::CollectionChangeEventHandler ^ CollectionChanging;
public event System.ComponentModel.CollectionChangeEventHandler? CollectionChanging;
public event System.ComponentModel.CollectionChangeEventHandler CollectionChanging;
member this.CollectionChanging : System.ComponentModel.CollectionChangeEventHandler
Public Custom Event CollectionChanging As CollectionChangeEventHandler
이벤트 유형
예제
다음 예제에서는 사용 하는 방법을 보여 줍니다는 CollectionChanging 이벤트입니다.
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());
}
Public Sub TableCollectionCollectionChanging()
' Create a DataSet with two tables
Dim dataSet As New DataSet()
AddHandler dataSet.Tables.CollectionChanging, _
AddressOf Collection_Changing
' Create Customer table
Dim customersTable As 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 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
설명
이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET