DataTable.RowChanging 事件

DataRow 正在更改时发生。

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

语法

声明
Public Event RowChanging As DataRowChangeEventHandler
用法
Dim instance As DataTable
Dim handler As DataRowChangeEventHandler

AddHandler instance.RowChanging, handler
public event DataRowChangeEventHandler RowChanging
public:
event DataRowChangeEventHandler^ RowChanging {
    void add (DataRowChangeEventHandler^ value);
    void remove (DataRowChangeEventHandler^ value);
}
/** @event */
public void add_RowChanging (DataRowChangeEventHandler value)

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

备注

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

示例

 Private Sub DataTableRowChanging()
     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 RowChanging event handler for the table.
     AddHandler custTable.RowChanging, _
            New DataRowChangeEventHandler(AddressOf Row_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 Sub Row_Changing(ByVal sender As Object, _
 ByVal e As DataRowChangeEventArgs)
     Console.WriteLine("Row_Changing Event: name={0}; action={1}", _
      e.Row("name"), e.Action)
 End Sub
private static void DataTableRowChanging()
{
    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 RowChanging event handler for the table.
    custTable.RowChanging += new DataRowChangeEventHandler(Row_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 Row_Changing(object sender, DataRowChangeEventArgs e)
{
    Console.WriteLine("Row_Changing Event: name={0}; action={1}", 
        e.Row["name"], e.Action);
}

平台

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

请参见

参考

DataTable 类
DataTable 成员
System.Data 命名空间

其他资源

创建和使用 DataTables