2010-12-10 59 views
0

我有這樣的代碼至今:如何刪除一個GridView行

<asp:TemplateField ShowHeader="False" ItemStyle-Width="150px" HeaderStyle-BackColor="#003ca1" HeaderStyle-ForeColor="white"> 
    <ItemTemplate> 
     <asp:LinkButton ID="linkDelete" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick='return confirm("Diesen Eintrag wirklich löschen?");' Text="Löschen" /> 
    </ItemTemplate> 
</asp:TemplateField> 

此時,在GridView物理刪除該行。 我想在CodeBehind中捕獲這個,取消刪除操作,並且只想在數據庫中設置一個「IsDeleted」-Flag。

怎麼樣?

回答

1

您可以使用RowDeleting事件和GridViewDeleteEventArgs對象的Cancel屬性來執行此操作。這裏是MSDN頁說的話:

的RowDeleting事件中單擊某一行的刪除按鈕時引發,但在GridView控件之前刪除該行。這使您可以提供事件處理方法,以便在發生此事件時執行自定義例程,例如取消刪除操作。

GridViewDeleteEventArgs對象被傳遞給事件處理方法,該方法使您可以確定當前行的索引並指示應該取消刪除操作。要取消刪除操作,請將GridViewDeleteEventArgs對象的Cancel屬性設置爲true。如果需要,還可以在將值傳遞到數據源之前操作Keys和Values集合。