다음을 통해 공유


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 네임스페이스

기타 리소스

DataTable 작성 및 사용