Thursday, April 16, 2015

insert data in table display in gridview with delete and edit button and checkbox for multiple delete by using three tier archicture

insert data in table display in gridview with delete and edit button and checkbox for multiple delete by using three tier archicture


//.aspx page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        name :
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        lname :
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
   
        <br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing1" OnRowUpdating="GridView1_RowUpdating" PageSize="5" AllowSorting="True" OnSorting="GridView1_Sorting">
            <AlternatingRowStyle BackColor="White" />
            <Columns>
                <asp:TemplateField HeaderText="select">
                    <ItemTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Id">
                    <EditItemTemplate>
                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("id") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="First Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("fname") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("fname") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Last Name">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("lname") %>'></asp:TextBox>
                        <br />
                        <asp:DropDownList ID="DropDownList1" runat="server" >
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("lname") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CommandField HeaderText="Delete" ShowDeleteButton="True" />
                <asp:CommandField HeaderText="Edit" ShowEditButton="True" />
            </Columns>
            <EditRowStyle BackColor="#7C6F57" />
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#E3EAEB" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#F8FAFA" />
            <SortedAscendingHeaderStyle BackColor="#246B61" />
            <SortedDescendingCellStyle BackColor="#D4DFE1" />
            <SortedDescendingHeaderStyle BackColor="#15524A" />
        </asp:GridView>
        <br />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Delete" />
   
    </div>
    </form>
</body>
</html>


//.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    BAL b = new BAL();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bindgrid();
        }
    }

    public void bindgrid()
    {
        GridView1.DataSource = b.selectdata();
        GridView1.DataBind();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        b.fname = TextBox2.Text;
        b.lname = TextBox3.Text;
        b.insertstudent(b);
        bindgrid();
    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        Label lblid = (Label)GridView1.Rows[e.RowIndex].FindControl("Label1");
        b.id = Convert.ToInt32(lblid.Text);
        b.deletedata(b);
        bindgrid();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            if (chk.Checked)
            {
                Label lblid = (Label)GridView1.Rows[i].FindControl("Label1");
                b.id = Convert.ToInt32(lblid.Text);
                b.deletedata(b);
            }
        }
        bindgrid();
    }

    protected void GridView1_RowEditing1(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        bindgrid();

        DropDownList ddlstate = (DropDownList)GridView1.Rows[e.NewEditIndex].FindControl("DropDownList1");
        ddlstate.DataSource = b.selectstate();
        ddlstate.DataTextField = "state";
        ddlstate.DataValueField = "sid";
        ddlstate.DataBind();


    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        Label lblid = (Label)GridView1.Rows[e.RowIndex].FindControl("Label4");
        TextBox txtfname = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox4");
        TextBox txtlname = (TextBox)GridView1.Rows[e.RowIndex].FindControl("TextBox5");

        b.id = Convert.ToInt32(lblid.Text);
        b.fname = txtfname.Text;
        b.lname = txtlname.Text;
        GridView1.EditIndex = -1;
        b.updatedata(b);

        bindgrid();
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        GridView1.EditIndex = -1;
        bindgrid();
    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        bindgrid();
    }
    protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
    {

    }
    protected void Button3_Click(object sender, EventArgs e)
    {
        Session["user"] = TextBox2.Text;
    }
}

//DataAccessLayer file//.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for BAL
/// </summary>
public class BAL:DAL
{
       public BAL()
       {
              //
              // TODO: Add constructor logic here
              //
       }

    public int id { get; set; }
    public string fname { get; set; }
    public string lname { get; set; }  
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;

/// <summary>
/// Summary description for DAL
/// </summary>
public class DAL
{
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["str"].ConnectionString);
    SqlCommand cmd;
    SqlDataAdapter da;
    DataSet ds;

       public DAL()
       {
              //
              // TODO: Add constructor logic here
              //
       }

   
  

    public void insertstudent(BAL b)
    {
        cmd = new SqlCommand("insertstudents", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@fnames", b.fname);
        cmd.Parameters.AddWithValue("@lname", b.lname);

        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();
    }

    public DataSet selectdata()
    {
        cmd = new SqlCommand("selectstudents", con);
        cmd.CommandType = CommandType.StoredProcedure;
        da = new SqlDataAdapter(cmd);
        ds = new DataSet();
        da.Fill(ds);
        return ds;
    }

    public void deletedata(BAL b)
    {
        cmd = new SqlCommand("studentdelete", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@id", b.id);
        con_open();
        cmd.ExecuteNonQuery();
        con.Close();
    }

    public void updatedata(BAL b)
    {
        cmd = new SqlCommand("updatestudent", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@id", b.id);
        cmd.Parameters.AddWithValue("@fname", b.fname);
        cmd.Parameters.AddWithValue("@lname",b.lname);
        con_open();
        cmd.ExecuteNonQuery();
        con.Close();
    }
}