DataTable.ColumnChanging Event

Occurs when a value is being changed for the specified DataColumn in a DataRow.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

'Declaration
Public Event ColumnChanging As DataColumnChangeEventHandler
'Usage
Dim instance As DataTable
Dim handler As DataColumnChangeEventHandler

AddHandler instance.ColumnChanging, handler

/** @event */
public void add_ColumnChanging (DataColumnChangeEventHandler value)

/** @event */
public void remove_ColumnChanging (DataColumnChangeEventHandler value)

In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.

For more information, see Working with DataTable Events.

Private Shared Sub DataTableColumnChanging()
	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 ColumnChanging event handler for the table.
	AddHandler custTable.ColumnChanging, New _
        DataColumnChangeEventHandler(AddressOf Column_Changing )

	' 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_Changing(sender As Object, _
    e As DataColumnChangeEventArgs)
	Console.WriteLine( _
        "Column_Changing Event: name={0}; Column={1}; proposed name={2}", _
		e.Row("name"), e.Column.ColumnName, e.ProposedValue) 
End Sub

Windows 98, Windows Server 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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show: