请单击以进行评分并提供反馈
MSDN
MSDN Library
.NET 开发
先前版本
System.Data
DataTable 类
DataTable 事件
 ColumnChanging 事件

  开启低带宽视图
此页面仅适用于
Microsoft Visual Studio 2005/.NET Framework 2.0

同时提供下列产品的其他版本:
.NET Framework 类库
DataTable.ColumnChanging 事件

DataRow 中指定的 DataColumn 的值发生更改时发生。

命名空间:System.Data
程序集:System.Data(在 system.data.dll 中)

Visual Basic(声明)
Public Event ColumnChanging As DataColumnChangeEventHandler
Visual Basic(用法)
Dim instance As DataTable
Dim handler As DataColumnChangeEventHandler

AddHandler instance.ColumnChanging, handler
C#
public event DataColumnChangeEventHandler ColumnChanging
C++
public:
event DataColumnChangeEventHandler^ ColumnChanging {
    void add (DataColumnChangeEventHandler^ value);
    void remove (DataColumnChangeEventHandler^ value);
}
J#
/** @event */
public void add_ColumnChanging (DataColumnChangeEventHandler value)

/** @event */
public void remove_ColumnChanging (DataColumnChangeEventHandler value)
JScript
JScript 支持使用事件,但不支持进行新的声明。

有关更多信息,请参见 使用 DataTable 事件

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

Windows 98、Windows 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

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0
社区内容   什么是社区内容?
添加新内容 RSS  批注
Processing
© 2009 Microsoft Corporation 版权所有。 保留所有权利  |  商标  |  隐私权声明
Page view tracker