Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
DataTable Class
DataTable Events
 ColumnChanged Event

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
DataTable..::.ColumnChanged Event

Occurs after a value has been changed for the specified DataColumn in a DataRow.

Namespace:  System.Data
Assembly:  System.Data (in System.Data.dll)
Visual Basic (Declaration)
Public Event ColumnChanged As DataColumnChangeEventHandler
Visual Basic (Usage)
Dim instance As DataTable
Dim handler As DataColumnChangeEventHandler

AddHandler instance.ColumnChanged, handler
C#
public event DataColumnChangeEventHandler ColumnChanged
Visual C++
public:
 event DataColumnChangeEventHandler^ ColumnChanged {
    void add (DataColumnChangeEventHandler^ value);
    void remove (DataColumnChangeEventHandler^ value);
}
JScript
JScript does not support events.

For more information, see Handling DataTable Events (ADO.NET).

Visual Basic
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

C#
    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]);
    }

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker