DataTable.ColumnChanging Event


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

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

public event DataColumnChangeEventHandler ColumnChanging

For more information, see Handling DataTable Events.

private static void DataTableColumnChanging()
    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 ColumnChanging event handler for the table.
    custTable.ColumnChanging += new 
        DataColumnChangeEventHandler(Column_Changing );

    // add ten rows
    for(int id=1; id<=10; id++)
            new object[] { id, string.Format(
            "customer{0}", id), string.Format("address{0}", id) });


    // 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_Changing(object sender, 
    DataColumnChangeEventArgs e )
        "Column_Changing Event: name={0}; Column={1}; proposed name={2}", 
        e.Row["name"], e.Column.ColumnName, e.ProposedValue );

.NET Framework
Available since 1.1
Return to top