首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView_RowDeleting没有开火

GridView_RowDeleting没有开火
EN

Stack Overflow用户
提问于 2013-06-05 13:58:36
回答 1查看 2.5K关注 0票数 0

目前,我正在asp.net中制作一个网络应用程序。通常,我使用sqlDataSource并启用分页和删除等功能,但在这种情况下我无法做到这一点。

我制作了一个GridView,它完美地显示了数据,我的RowDelete事件怎么也不触发

代码GridView: (仅相关代码)

代码语言:javascript
复制
<asp:GridView ID="GridView1" 
    runat="server" 
    onpageindexchanging="GridView1_PageIndexChanging" 
    onrowdeleting="GridView1_RowDeleting">

    <Columns>
      <asp:TemplateField 
         HeaderStyle-CssClass="head"
         ItemStyle-CssClass="items"
         HeaderText="Klant">

         <ControlStyle ForeColor="#333333" />
         <HeaderStyle CssClass="head"></HeaderStyle>
         <ItemStyle CssClass="items" Font-Bold="False" ForeColor="#494C50" ></ItemStyle>
         <ItemTemplate>
            <asp:LinkButton ID="klant" runat="server"
              Text='<%#Eval("Bedrijf") %>'
              PostBackUrl='<%# "klant_wijzigen.aspx?Klant_ID="+Eval("Klant_ID").ToString()%>'></asp:LinkButton>
         </ItemTemplate>

      </asp:TemplateField>            

<asp:TemplateField 
    HeaderStyle-CssClass="head"
    ItemStyle-CssClass="items"
    HeaderText="Categorie">
    <ItemTemplate>

        <asp:LinkButton ID="categorie" runat="server"
        Text='<%#Eval("Categorie") %>'
        PostBackUrl='<%# "cat_wijzigen.aspx?Cat_ID="+Eval("Cat_ID").ToString()%>'>
        </asp:LinkButton>
    </ItemTemplate>

    <ControlStyle ForeColor="#333333" />

<HeaderStyle CssClass="head"></HeaderStyle>

<ItemStyle CssClass="items" Font-Bold="false" ></ItemStyle>
</asp:TemplateField>


<asp:BoundField 
    DataField="Website"
    headertext="Website"
    HeaderStyle-CssClass="head"
    ItemStyle-CssClass="items">
<HeaderStyle CssClass="head"></HeaderStyle>

<ItemStyle CssClass="items"></ItemStyle>
</asp:BoundField>


<asp:BoundField 
    HeaderStyle-CssClass="head"
    DataField="Titel"
    headertext="Titel" 
    ItemStyle-CssClass="items"            
>
<HeaderStyle CssClass="head"></HeaderStyle>

<ItemStyle CssClass="items"></ItemStyle>
</asp:BoundField>

<asp:TemplateField 
    HeaderStyle-CssClass="head2"
    ItemStyle-CssClass="items2">
    <ItemTemplate>


        <asp:Button ID="LinkButton1" 
            runat="server"                                         
            CausesValidation="False" 
            CommandName="Delete" Text="Delete"
            CssClass="verwijder"
            OnClientClick="return confirm
            ('Weet je zeker dat je het project wilt verwijderen?')">
        </asp:Button>

        <asp:Button ID="project" runat="server" 
            Text="Details"
            CssClass="details"
            PostBackUrl='<%#"Details.aspx?ID="+Eval("ID").ToString()%>' 
        />


    </ItemTemplate>

<HeaderStyle CssClass="head2"></HeaderStyle>

<ItemStyle CssClass="items2"></ItemStyle>
</asp:TemplateField>
</Columns>

<HeaderStyle CssClass="head"></HeaderStyle>
<AlternatingRowStyle BackColor="#e1e3e9" />
</asp:GridView>

如你所见,它们都是有界的。删除按钮是一个LinkButtton。

这是我的剧本:

代码语言:javascript
复制
Protected Sub Gridview1_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs)
    GridView1.DeleteRow(e.RowIndex)
    GridView1.DataBind()
End Sub

我像这样绑定我的GridView :我用两个不同的选择查询创建了两个独立的SqlDataSources。基于下拉列表的SelectedValue,选择SqlDataSource:

代码语言:javascript
复制
Public Sub Wop() 'Here I set the IF statement.
    If DropDownList1.SelectedValue = 0 Then
        GridView1.DataSource = SqlDataSource4()
    Else
        GridView1.DataSource = SqlDataSource2()
    End If
    GridView1.DataBind()
End Sub


Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)     
    Wop() `Here is were I call the IF statement.
End Sub

任何线索都将不胜感激。

注意:我必须说我不是用C#写的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 14:26:28

您看起来像是在RowDeleting事件中调用RowDeleting。这没有任何意义,因为我可以想象,在调用RowDeleting之前不会引发DeleteRow

编辑:

来自MSDN:

使用DeleteRow方法以编程方式从数据源中删除指定索引处的记录。当需要从GridView控件之外删除记录时,通常使用此方法,例如从页面上的另一个控件中删除记录。调用此方法的还会引发RowDeleted和RowDeleting事件

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.deleterow.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16941951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档