ITfjernundervisning

ASP.NET / Dataset og datagrid objektet / Slet post

Slet post

Det at slette en post følger de andre metoder

  • indstil datagrid
  • sæt kommando på
  • skriv koden

Objekt kodning

I klassen skal vi have en slette metode:

C#

public void Slet(int ID)
{
 DataRow []objRows; 
 string strSelect = "ID='" + ID.ToString() + "'";
 objRows = _Projekter.Tables[0].Select(strSelect);
 objRows[0].Delete();
 Opdater();
}

VB

    Public Sub Slet(ByVal ID As Integer)
        Dim objRows() As DataRow
        Dim strSelect As String = "ID='" + ID.ToString() + "'"
        objRows = _Projekter.Tables(0).Select(strSelect)
        objRows(0).Delete()
        Opdater()
    End Sub

Og i codebehind en eventhandler

C#

private void dgridProjekter_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
 _Projekter.Slet(Convert.ToInt16(dgridProjekter.DataKeys[e.Item.ItemIndex]));
 DoDataBind();
}

VB

    Private Sub dgData_DeleteCommand(ByVal source ...
        _Projekter.Slet(Convert.ToInt16(dgData.DataKeys(e.Item.ItemIndex)))
        DoDatabind()
    End Sub

HUSK at sætte DataKeyField egenskaben på dit datagrid.

 

Klassisk kodning

VB.NET

    Private Sub dgridAndeby_DeleteCommand(ByVal ...
        Dim objRows() As DataRow
        Dim dsetAndeby As New DataSet
        Dim strSelect As String
        strSelect = "ID='" + CStr(dgridAndeby.DataKeys(e.Item.ItemIndex)) + "'"
        dsetAndeby = GetDataset()
        objRows = dsetAndeby.Tables(0).Select(strSelect)
        objRows(0).Delete()
        dsetAndeby.WriteXml(Server.MapPath("Andeby.xml"))
        dgridAndeby.EditItemIndex = -1
        DoDatabind()
    End Sub

C#

  private void DeleteRow(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   DataRow []objRows;
   DataSet dsetAndeby = DataSet();
   dsetAndeby = GetDataset();


   String strSelect = "ID='" + (string)dgridAndeby.DataKeys[e.Item.ItemIndex] + "'";
   objRows = dsetAndeby.Tables[0].Select(strSelect);
   objRows[0].Delete();
   dsetAndeby.WriteXml(Server.MapPath("Andeby.xml"));
   dgridAndeby.EditItemIndex = -1;
   DoDatabind();
  }

Når du har betalt for kurset får du adgang til øvelser til hver lektion.
Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.