Bagikan melalui


DataRow.Delete Metode

Definisi

DataRowMenghapus .

public:
 void Delete();
public void Delete ();
member this.Delete : unit -> unit
Public Sub Delete ()

Pengecualian

Contoh

Contoh berikut membuat sederhana DataTable dengan dua kolom dan sepuluh baris. Setelah menghapus beberapa DataRow item dengan Delete metode , salah satu baris tidak dihapus dengan memanggil 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

Keterangan

RowState Jika baris Ditambahkan, RowStateDetached menjadi dan baris dihapus dari tabel saat Anda memanggil AcceptChanges.

menjadi RowStateDeleted setelah Anda menggunakan Delete metode pada yang ada DataRow. Ini tetap Deleted sampai Anda memanggil AcceptChanges. Saat ini, DataRow dihapus dari tabel.

Delete tidak boleh dipanggil dalam perulangan foreach saat melakukan iterasi melalui DataRowCollection objek. Delete memodifikasi status koleksi.

Baris yang dihapus dapat dibatalkan penghapusannya dengan memanggil RejectChanges.

Catatan

Metode ini BeginEdit untuk sementara menangguhkan RowChanging peristiwa, tetapi operasi penghapusan tidak.

Berlaku untuk

Lihat juga