DataRow.Delete 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
DataRow를 삭제합니다.
public:
void Delete();
public void Delete ();
member this.Delete : unit -> unit
Public Sub Delete ()
예외
DataRow가 이미 삭제된 경우
예제
다음 예제에서는 두 개의 열과 10개의 행이 있는 간단한 DataTable 을 만듭니다. 메서드를 사용하여 여러 DataRow 항목을 Delete 삭제한 후 를 호출 RejectChanges하여 행 중 하나가 삭제되지 않습니다.
private void DemonstrateDeleteRow()
{
// Create a simple DataTable with two columns and ten rows.
DataTable table = new DataTable("table");
DataColumn idColumn = new DataColumn("id",
Type.GetType("System.Int32"));
idColumn.AutoIncrement=true;
DataColumn itemColumn = new DataColumn("item",
Type.GetType("System.String"));
table.Columns.Add(idColumn);
table.Columns.Add(itemColumn);
// Add ten rows.
DataRow newRow;
for(int i = 0; i <10; i++)
{
newRow = table.NewRow();
newRow["item"] = "Item " + i;
table.Rows.Add(newRow);
}
table.AcceptChanges();
DataRowCollection itemColumns = table.Rows;
itemColumns[0].Delete();
itemColumns[2].Delete();
itemColumns[3].Delete();
itemColumns[5].Delete();
Console.WriteLine(itemColumns[3].RowState.ToString());
// Reject changes on one deletion.
itemColumns[3].RejectChanges();
// Change the value of the column so it stands out.
itemColumns[3]["item"] = "Deleted, Undeleted, Edited";
// Accept changes on others.
table.AcceptChanges();
// Print the remaining row values.
foreach(DataRow row in table.Rows)
{
Console.WriteLine(row[0] + "\table" + row[1]);
}
}
Private Sub DemonstrateDeleteRow()
' Create a simple DataTable with two columns and ten rows.
Dim table As New DataTable("table")
Dim idColumn As New DataColumn("id", Type.GetType("System.Int32"))
idColumn.AutoIncrement = True
Dim itemColumn As New DataColumn("item", Type.GetType("System.String"))
table.Columns.Add(idColumn)
table.Columns.Add(itemColumn)
' Add ten rows.
Dim newRow As DataRow
Dim i As Integer
For i = 0 To 9
newRow = table.NewRow()
newRow("item") = "Item " & i.ToString()
table.Rows.Add(newRow)
Next i
table.AcceptChanges()
Dim itemColumns As DataRowCollection = table.Rows
itemColumns(0).Delete()
itemColumns(2).Delete()
itemColumns(3).Delete()
itemColumns(5).Delete()
Console.WriteLine(itemColumns(3).RowState.ToString())
' Reject changes on one deletion.
itemColumns(3).RejectChanges()
' Change the value of the column so it stands out.
itemColumns(3)("item") = "Deleted, Undeleted, Edited"
' Accept changes on others.
table.AcceptChanges()
' Print the remaining row values.
Dim row As DataRow
For Each row In table.Rows
Console.WriteLine(row(0).ToString() & ControlChars.Tab _
& row(1).ToString())
Next row
End Sub
설명
행의 가 RowState 추가 RowState 된 경우 는 가 되고 Detached
를 호출 AcceptChanges할 때 테이블에서 행이 제거됩니다.
은 RowStateDeleted
기존 DataRow에서 메서드를 Delete 사용한 후에 가 됩니다. 를 호출AcceptChanges할 때까지 유지합니다Deleted
. 이때 는 DataRow 테이블에서 제거됩니다.
Delete 는 개체를 반복하는 DataRowCollection 동안 foreach 루프에서 호출되지 않아야 합니다. Delete 는 컬렉션의 상태를 수정합니다.
를 호출 RejectChanges하여 삭제된 행을 삭제 취소할 수 있습니다.
참고
메서드는 BeginEdit 이벤트를 일시적으로 일시 중단하지만 삭제 작업은 일시 중단 RowChanging 하지 않습니다.
적용 대상
추가 정보
.NET