Click here to Skip to main content
15,884,099 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
hi all,

I am developing web application using asp.net the problem comes when i want the user to edit data on the gridview, it's giving me a follow error ,

The GridView 'GridView1' fired event RowEditing which wasn't handled.

my code c#:
C#
 protected void GridView1_RowEditing(object sender, System.Web.UI.WebControls.GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        bindgrid();
    }

    protected void GridView1_RowCancelingEdit(object sender, System.Web.UI.WebControls.GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        bindgrid();

    }


    protected void GridView1_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
    {
        GridViewRow row = (GridViewRow)GridView1.Rows[e.RowIndex];
        TextBox TxtReference = (TextBox)row.FindControl("TxtRefName");
        TextBox TxtDestination = (TextBox)row.FindControl("TxtDestination");
        Label LblAccess = (Label)row.FindControl("LblAccNo");
        if (string.IsNullOrEmpty(TxtDestination.Text))
        {
            //LblStatus.Text = "Destination number cannot be empty"
            Response.Write("<script language='javascript'>alert('Destination number cannot be empty');</script>");
            GridView1.EditIndex = -1;
            bindgrid();
        }
        else
        {
            string[] result1 = new string[2];
          result1= result1 = clsObj.FnUpdatedAccessNo(Convert.ToString(Session["User_id"]), LblAccess.Text.Trim(), TxtDestination.Text.Trim(), TxtReference.Text.Trim());
            GridView1.EditIndex = -1;
            bindgrid();
            if (result1[0] == "0")
            {
                
                Response.Write("<script language='javascript'>alert('Unable to process your request..Please try again later');</script>");
            }
}
}

protected void GridView1_PageIndexChanging(object sender, System.Web.UI.WebControls.GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        bindgrid();
    }



my asp.net code is:

XML
<asp:GridView ID="GridView1" runat="server" BackColor="#CCCCCC" BorderColor="#999999"
            BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" ForeColor="Black" AutoGenerateColumns="False" AllowPaging="True" PageSize="25">
            <RowStyle BackColor="White" />
            <FooterStyle BackColor="#CCCCCC" />
            <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
            <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
            <Columns>
                   <asp:TemplateField>
                    <HeaderTemplate>
                       <label style="font-weight:bold;font-size:small">Your unique 0208 Number to dial
                       </label>

                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:Label ID="LblAccNo" runat="server" Font-Bold="True" Text='<%#Eval("Access") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                      <label style="font-weight:bold;font-size:small"> Destination Number </label>
                    </HeaderTemplate>
                    <EditItemTemplate>
                        <asp:TextBox ID="TxtDestination" runat="server" Text='<%#Bind("divertedto")%>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="LblDestination" runat="server" Font-Bold="True" Text='<%#Eval("divertedto")%>'>
                        </asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <HeaderTemplate>
                       <label style="font-weight:bold;font-size:small">Reference Name</label>
                    </HeaderTemplate>
                    <EditItemTemplate>
                        <asp:TextBox ID="TxtRefName" runat="server" Text='<%#Bind("Name_of_diversion")%>'>
                        </asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="LblRefName" runat="server" Font-Bold="True" Text='<%#Eval("Name_of_diversion")%>'>
                        </asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CommandField ShowEditButton="True" />
            </Columns>
            <PagerSettings Mode="NumericFirstLast" />
        </asp:GridView>
Posted
Updated 28-Sep-12 6:13am
v2

 
Share this answer
 
Add/Bind event handlers explicitly as in following script.
eg. OnRowEditing="GridView1_RowEditing"

ASP.NET
<asp:gridview id="GridView1" runat="server" backcolor="#CCCCCC" bordercolor="#999999" borderstyle="Solid" borderwidth="3px" cellpadding="4" cellspacing="2" forecolor="Black" autogeneratecolumns="False" allowpaging="True" pagesize="25" onrowediting="GridView1_RowEditing"> </asp:gridview>
 
Share this answer
 
v2
Comments
stellus 28-Sep-12 9:46am    
thank you very much for helping, the code which you provide me its working fine.....
Manish Ray 28-Sep-12 10:03am    
Glad to know!
Member 13650918 31-Jan-18 1:55am    
it display an error. gridview doesn't have an property onrowediting="GridView1_RowEditing". what to do?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900