Hej! Hitta felet. Var en metod i min basklass som gjorde att gridden tappa raderna. GridView CommandField för att ta bort rad?
Har en sida med en GridView. Har lagt till en kolumn av typen commandfield för att kunna ta bort rader ur gridden. Jag vill att när man klickar på raden ska ett event köras och i detta ska jag "manuellt" kunna ta bort raden ur datasetet och binda om gridden. Har dock stött på ett par problem.
1) När man trycker på deletefältet & kommer till eventet RowDeleting så innehåller gridden inte längre några rader. Hur kommer det sig?
2) För att komma runt punkt 1 gjorde jag en riktig fuling och binder om gridden i eventet för att kunna komma åt: GridView1.DataKeys(e.RowIndex).Value som är nyckel i mitt dataset. Fungerar fint men problemet är att eventet kastas <b>2 ggr</b> av någon anledning. Hur kommer det sig?
Jag binder gridden "manuellt" enligt (använder ingen sqldatasource eller liknande):
grid.DataSource = dt
grid.DataBind()
Så ser koden ut
<asp:GridView Visible=true ID="GridViewTransactions" EnableViewState=false DataKeyNames="TransactionId" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Amount" HeaderText="Insättningsbelopp" ItemStyle-Wrap=false HtmlEncode=false/>
<asp:BoundField DataField="Diff" HeaderText="diff" ItemStyle-Wrap=false HtmlEncode=false/>
<asp:CommandField ButtonType=Image DeleteImageUrl="../../Images/delete_transparant.gif" ShowDeleteButton="True" ShowHeader="True" />
</Columns>
</asp:GridView>
o sen eventet:
Protected Sub GridViewTransactions_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridViewTransactions.RowDeleting
' todo
end sub
Mvh
/ StefanSv: GridView CommandField för att ta bort rad?
Problem Solved!