Posts Tagged “gridview”

Ibland vill man kunna ta bort poster i en databas från en gridview. Här följer ett litet exempel på hur man kan göra för att få fram databasradens primärnyckelvärde för att veta vad man ska ta bort (ändra/uppdatera eller vad du vill göra). I “gridview” kontrollen på din aspx sida (ej codebehind) behöver du ange property för “DataKeyNames” (primärnyckeln i din datasource som du anger för gridviewen), välja vilka boundfields du vill visa samt säga åt gridden att rita upp “ta bort”-knappen för varje rad.

<asp:GridView ID=”gridCategories” runat=”server”  DataKeyNames=”categoryId”>
<Columns>
<asp:BoundField DataField=”categoryName” HeaderText=”Kategori” />
<asp:BoundField DataField=”categoryDescr” HeaderText=”Beskrivning” />
<asp:CommandField ShowDeleteButton=”True”  />
</Columns>
</asp:GridView>

Eventet för att tex ta bort heter gridView_RowDeleting()
Du måste hantera det på något sätt, tex i codebehind-filen

protected void gridCategories_RowDeleting(Object sender, GridViewDeleteEventArgs e)
{
//Ta bort raden
string categoryToDelete = gridCategories.DataKeys[e.RowIndex]["categoryId"].ToString();
korSqlCmd(”DELETE FROM kdb_categories WHERE categoryId = ‘” + categoryToDelete + “‘”);
}

//Rita om all data från databasen
showCategories();
}

Det intressanta i koden ovan är [e.RowIndex] som talar om vilken rad i gridden vi håller på med och ["categoryId"] som är en DataKeyName för gridviewen. (primärnyckeln i databasen är ju lämpligt att använda)

Måste också koppla eventet till funktionen i codebehind-filen på aspx sidan:

<asp:GridView ID=”gridCategories” runat=”server”  DataKeyNames=”categoryId”
OnRowDeleting=”gridCategories_RowDeleting” >
<Columns>
<asp:BoundField DataField=”categoryName” HeaderText=”Kategori” />
<asp:BoundField DataField=”categoryDescr” HeaderText=”Beskrivning” />
<asp:CommandField ShowEditButton=”True”  />
<asp:CommandField ShowDeleteButton=”True”  />
</Columns>
</asp:GridView>

Enkelt och nästan identiskt för att redigera och uppdatera. Se alla gridview events man kan använda här.

Comments 1 Kommentar »