LINQ BASIC Example ADD, EDIT, DELETE with GridView


 

   
GridView (LINQ)

   

   
            HorizontalAlign="Center" AutoGenerateColumns="false"
            DataKeyNames="empId" AllowPaging="True"
            onpageindexchanging="gvEmployeeMLinq_PageIndexChanging"
            onrowdeleting="gvEmployeeMLinq_RowDeleting">
   
   
   
    
   
   
   
   
   
   
   
   
     
   
   
   
   
 
   
   
   

   

   

   

     
   

   



.aspx.cs page

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;


public partial class _Default : System.Web.UI.Page
{
    DataClassesDataContext objLinq = new DataClassesDataContext();  //LINQ object
    public static int EditEmpId = 0;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //Bind GridView ();
            GridView();
        }

    }
 
    // Bind GridView
    protected void GridView()
    {
     
        /*using JOIN query*/
        var dt = from emp in objLinq.EmployeeMasters
                 join empT in objLinq.EmployeePhones
                 on emp.empId equals empT.empId

                 select new
                 {
                     empId = emp.empId,
                     empName = emp.empName,
                     salary = emp.salary
                 };


        gvEmployeeMLinq.DataSource = dt;
        gvEmployeeMLinq.DataBind();
    }
    protected void gvEmployeeMLinq_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvEmployeeMLinq.PageIndex = e.NewPageIndex;
        GridView();
    }

    //Add Button Click Event
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        //Display Add/Edit Div
        divAddEdit.Style.Add("display","block");
        btnSave.Text = "Save";
    }
     protected void CallWCFService()
    {
        //lblMessage.Text = objWCF.Welcome("ved");
        //lblMessage.Text = objWCF.AddNumber(4, 6).ToString();
    }

    //get Edit Click event by sender object
    protected void getData(object sender, EventArgs e)
    {
        LinkButton lnk = (LinkButton)sender;
        GridViewRow gvrow = (GridViewRow)lnk.NamingContainer;
        int empId = Convert.ToInt32(gvEmployeeMLinq.DataKeys[gvrow.RowIndex].Value);
        EditEmpId = empId;          //Set current empI to static variable
        EmployeeMaster emp = objLinq.EmployeeMasters.Single(UId => UId.empId == empId);
        txtName.Text = emp.empName;
        txtSal.Text = Convert.ToString(emp.salary);
        txtTel.Text = emp.telphone;
        btnSave.Text = "Update";

    }

    //on Button Save event and Update
    protected void btnSave_Click(object sender, EventArgs e)
    {
        string strEmpName = txtName.Text.Trim().Replace("'", "''");
        string salary = txtSal.Text.Trim().Replace("'", "''");
        string telephone = txtTel.Text.Trim().Replace("'", "''");
        //Save
        if (btnSave.Text.Equals("Save"))
        {
            EmployeeMaster emp = new EmployeeMaster
            {
                empName = strEmpName,
                salary = Convert.ToDouble(salary),
                telphone = telephone
            };
            objLinq.EmployeeMasters.InsertOnSubmit(emp);
            objLinq.SubmitChanges();
            lblMessage.Text = "Record added successfully!";
        }
        else //Update
        {
            EmployeeMaster emp = objLinq.EmployeeMasters.Single(UId => UId.empId == EditEmpId);
            emp.empName = txtName.Text.Trim().Replace("'","''");
            emp.salary = Convert.ToDouble(txtSal.Text.Trim().Replace("'", "''"));
            emp.telphone = txtTel.Text.Trim().Replace("'", "''");
            try
            {
                objLinq.SubmitChanges();
                btnSave.Text = "Update";
                lblMessage.Text = "Record updated successfully!";
            }
            catch (Exception ex)
            {
                btnAdd.Text = "Save";
            }
        }
        GridView();
    }

    //Row Deleting Event
    protected void gvEmployeeMLinq_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int empId = Convert.ToInt32(gvEmployeeMLinq.DataKeys[e.RowIndex].Value);
        EmployeeMaster emp = objLinq.EmployeeMasters.First(UID => UID.empId == empId);
        objLinq.EmployeeMasters.DeleteOnSubmit(emp);
        objLinq.SubmitChanges();

        lblMessage.Text = "Record deleted successfully!";
        GridView();
    }
}

Comments