DataTable.ColumnChanged DataTable.ColumnChanged DataTable.ColumnChanged DataTable.ColumnChanged Event

정의

DataColumn에 있는 지정된 DataRow의 값이 변경된 후 발생합니다.Occurs after a value has been changed for the specified DataColumn in a DataRow.

public:
 event System::Data::DataColumnChangeEventHandler ^ ColumnChanged;
[System.Data.DataSysDescription("DataTableColumnChangedDescr")]
public event System.Data.DataColumnChangeEventHandler ColumnChanged;
member this.ColumnChanged : System.Data.DataColumnChangeEventHandler 
Public Custom Event ColumnChanged As DataColumnChangeEventHandler 
특성

예제

private static void DataTableColumnChanged()
{
    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 ColumnChanged event handler for the table.
    custTable.ColumnChanged += new 
        DataColumnChangeEventHandler(Column_Changed );


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

    // change the name column in all the rows
    foreach(DataRow row in custTable.Rows )
    {
        row["name"] = string.Format("vip{0}", row["id"]);
    }

}

private static void Column_Changed(object sender, DataColumnChangeEventArgs e )
{
    Console.WriteLine("Column_Changed Event: name={0}; Column={1}; original name={2}", 
        e.Row["name"], e.Column.ColumnName, e.Row["name", DataRowVersion.Original]);
}
Private Shared Sub DataTableColumnChanged()
	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 ColumnChanged event handler for the table.
	AddHandler custTable.ColumnChanged, _
        New DataColumnChangeEventHandler(AddressOf Column_Changed )


	' 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()

	' change the name column in all the rows
	Dim row As DataRow
	For Each row In custTable.Rows 
		row("name") = string.Format("vip{0}", row("id"))
	Next

End Sub

Private Shared Sub Column_Changed(sender As Object, _
    e As DataColumnChangeEventArgs)
	Console.WriteLine("Column_Changed Event: name={0}; Column={1}; original name={2}", _
		e.Row("name"), e.Column.ColumnName, e.Row("name", DataRowVersion.Original))
End Sub

설명

자세한 내용은 DataTable 이벤트 처리합니다.For more information, see Handling DataTable Events.

적용 대상

추가 정보