MY bLOG

Wednesday, 5 March 2014

How to add validation controls to update event in gridview?

In this article  i will explain how to validate the controls which are placed in grid view
http://aswinialuri.blogspot.in/2014/03/how-to-insert-editdelete-update-and.html

In the above article i explained how to insert,edit,delete,update and cancelling operations in grid view using Asp.net.
So here  i will explain how to update the data using validation to avoid  empty cell upadating

code in .aspx page:

 <div>
    <asp:GridView ID="gridview" runat="server" AutoGenerateColumns="False" 
            AutoGenerateEditButton="True"  AutoGenerateDeleteButton="True" 
             DataKeyNames="Id" onrowcancelingedit="gridview_RowCancelingEdit" 
            onrowdeleting="gridview_RowDeleting" onrowediting="gridview_RowEditing" 
            onrowupdating="gridview_RowUpdating" >
            
            <Columns><asp:TemplateField HeaderText="Id"><ItemTemplate><asp:Label ID="lbl_id" runat="server" Text='<%#Eval("Id")%>'></asp:Label>
            </ItemTemplate>
            <EditItemTemplate><asp:TextBox ID="txt_id" runat="server" Text='<%#Eval("Id")%>'></asp:TextBox>
            </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Name"><ItemTemplate><asp:Label ID="lbl_name" runat="server" Text='<%#Eval("Name")%>'></asp:Label>
            </ItemTemplate>
            <EditItemTemplate><asp:TextBox ID="txt_name" runat="server" Text='<%#Eval("Name")%>'></asp:TextBox>
            </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Salary"><ItemTemplate><asp:Label ID="lbl_sal" runat="server" Text='<%#Eval("salary")%>'></asp:Label>
            </ItemTemplate>
            <EditItemTemplate><asp:TextBox ID="txt_salary" runat="server" Text='<%#Eval("salary")%>'></asp:TextBox>
            </EditItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Department"><ItemTemplate><asp:Label ID="lbl_dept" runat="server" Text='<%#Eval("Department")%>'></asp:Label>
            </ItemTemplate>
            <EditItemTemplate><asp:TextBox ID="txt_dept" runat="server" Text='<%#Eval("Department")%>'></asp:TextBox>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txt_dept" Text="*" runat="server" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>
            </EditItemTemplate>
            </asp:TemplateField>
             </Columns>
        </asp:GridView>
        <br />
    </div>
    <table><tr><td>Id:</td><td>
            <asp:TextBox ID="txt_id" runat="server"></asp:TextBox></td></tr>
            <tr><td>Name:</td><td>
                <asp:TextBox ID="txt_name" runat="server"></asp:TextBox></td></tr>
                <tr><td>Salary:</td><td>
                    <asp:TextBox ID="txt_salary" runat="server"></asp:TextBox></td></tr>
                    <tr><td>Department:</td><td>
                        <asp:TextBox ID="txt_dept" runat="server"></asp:TextBox></td></tr>
                        <tr><td colspan="2" align="center">
                            <asp:Button ID="btn_submit" runat="server" Text="Submit" 
                                onclick="btn_submit_Click" /></td></tr>

            </table>

code in .aspx.cs page:

//To update a row event
 protected void gridview_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridViewRow row = gridview.Rows[e.RowIndex] as GridViewRow;
        int id = Convert.ToInt32(gridview.DataKeys[e.RowIndex].Values["Id"].ToString());
        TextBox txtname = (TextBox)gridview.Rows[e.RowIndex].FindControl("txt_name");
        TextBox txtsalary = (TextBox)gridview.Rows[e.RowIndex].FindControl("txt_salary");
        TextBox txtdepartment = (TextBox)gridview.Rows[e.RowIndex].FindControl("txt_dept");
        SqlConnection con = new SqlConnection(strcon);
        SqlCommand cmd = new SqlCommand("update Emp1 set Name=@Name,salary=@salary,Department=@Department "+" where Id=@Id", con);
        cmd.Parameters.AddWithValue("@Name", txtname.Text);
        cmd.Parameters.AddWithValue("@salary", txtsalary.Text);
        cmd.Parameters.AddWithValue("@Department", txtdepartment.Text);
        cmd.Parameters.AddWithValue("@Id",id);
        con.Open();
        cmd.ExecuteNonQuery();
        gridview.EditIndex = -1;
        con.Close();
        binddata();

    }
I f you click on update button 
required field validator is set into the department if you leave the text box empty it shown an error so the row will not be updated and you will assign the text for particular department .

I hope you understand the article how to validate the text in row event
If you have any queries make a comment.

No comments:

Post a Comment