首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView1_RowDeleting()没有被调用吗?

GridView1_RowDeleting()没有被调用吗?
EN

Stack Overflow用户
提问于 2009-06-23 15:30:42
回答 1查看 2.4K关注 0票数 1

我正在尝试阻止删除我的GridView的行,如下所示:

代码语言:javascript
复制
    void GridView1_RowDeleting(Object sender, GridViewDeleteEventArgs e)
    {

        if (GridView1.Rows[e.RowIndex].Cells[1].ToString() == "root")
        {
            e.Cancel = true;
        }
}

但是它没有工作,我在里面放了一个断点,但是它从来没有停止过我认为这个函数没有像MSDN说的那样捕捉到事件?

下面是GridView:

代码语言:javascript
复制
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        CellPadding="4" DataKeyNames="id" DataSourceID="sqlWorkFlowItems" 
        ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <Columns>
            <asp:CommandField ShowDeleteButton="True" ShowEditButton="True"   />
            <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                ReadOnly="True" SortExpression="id" Visible="False" />
            <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" />
            <asp:BoundField DataField="link" HeaderText="link" SortExpression="link" />
            <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" 
                ReadOnly="True" SortExpression="id" Visible="False" />
            <asp:TemplateField HeaderText="parent" SortExpression="parent">
                <EditItemTemplate>
                    <asp:DropDownList ID="cboParent" SelectedValue='<%# Bind("parent") %>' DataSourceID="sqlWorkFlowItems"
                    DataTextField="name" DataValueField="id" runat="server" />
                </EditItemTemplate>
                <ItemTemplate>
                   <asp:DropDownList ID="cboParent" SelectedValue='<%# Bind("parent") %>' DataSourceID="sqlWorkFlowItems"
                    DataTextField="name" DataValueField="id" runat="server" Enabled="false"  />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="company" SortExpression="company">
                <EditItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("company") %>'></asp:Label>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("company") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#999999" />
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    </asp:GridView>

编辑:

我还尝试将此代码添加到Page_Load函数,但无济于事:

代码语言:javascript
复制
GridView1.RowDeleting = new GridViewDeleteEventHandler(this.GridView1_RowDeleting);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-23 18:51:36

您可以声明性地执行此操作:

代码语言:javascript
复制
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        CellPadding="4" DataKeyNames="id" DataSourceID="sqlWorkFlowItems" 
        ForeColor="#333333" GridLines="None" 
        OnRowDeleting="GridView1_RowDeleting">

或者在代码中(我想你刚刚错过了+=):

代码语言:javascript
复制
GridView1.RowDeleting += new GridViewDeleteEventHandler(GridView1_RowDeleting);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1033319

复制
相关文章

相似问题

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