<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 100%">
<asp:Label ID="lblMessage" runat="server" Visible="false"></asp:Label>
<tr>
<td>
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"/>
</td>
</tr>
<tr>
<td style="width: 50%">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowSorting="true" OnPageIndexChanging="GridView1_PageIndexChanging"
AllowPaging="true" PageSize="4" OnSorting="GridView1_Sorting">
<Columns>
<asp:TemplateField HeaderText="Name" SortExpression="Name">
<ItemTemplate>
<asp:HiddenField ID="hdnId" runat="server" Value='<%#Eval("Id")%>'></asp:HiddenField>
<asp:LinkButton ID="lbtnName" runat="server" Text='<%#Eval("Name")%>' OnClick="lbtnName_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
<td style="width: 50%; vertical-align: top">
<table>
<tr>
<td>Name :
</td>
<td>
<asp:TextBox ID="txtName" runat="server">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
<span>
<asp:Button ID="btnAdd" Text="Add" runat="server" OnClick="btnAdd_Click" />
<asp:Button ID="btnUpdate" Text="Update" runat="server" OnClick="btnUpdate_Click" />
<asp:Button ID="btnDelete" Text="Delete" runat="server" OnClientClick="return confirm('Are u sure want to delete');" OnClick="btnDelete_Click" />
<asp:Button ID="btnREfresh" Text="Refresh" runat="server" OnClick="btnREfresh_Click" />
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 100%">
<asp:Label ID="lblMessage" runat="server" Visible="false"></asp:Label>
<tr>
<td>
<asp:TextBox ID="txtSearch" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"/>
</td>
</tr>
<tr>
<td style="width: 50%">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" AllowSorting="true" OnPageIndexChanging="GridView1_PageIndexChanging"
AllowPaging="true" PageSize="4" OnSorting="GridView1_Sorting">
<Columns>
<asp:TemplateField HeaderText="Name" SortExpression="Name">
<ItemTemplate>
<asp:HiddenField ID="hdnId" runat="server" Value='<%#Eval("Id")%>'></asp:HiddenField>
<asp:LinkButton ID="lbtnName" runat="server" Text='<%#Eval("Name")%>' OnClick="lbtnName_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
<td style="width: 50%; vertical-align: top">
<table>
<tr>
<td>Name :
</td>
<td>
<asp:TextBox ID="txtName" runat="server">
</asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2"></td>
</tr>
<tr>
<td colspan="2">
<span>
<asp:Button ID="btnAdd" Text="Add" runat="server" OnClick="btnAdd_Click" />
<asp:Button ID="btnUpdate" Text="Update" runat="server" OnClick="btnUpdate_Click" />
<asp:Button ID="btnDelete" Text="Delete" runat="server" OnClientClick="return confirm('Are u sure want to delete');" OnClick="btnDelete_Click" />
<asp:Button ID="btnREfresh" Text="Refresh" runat="server" OnClick="btnREfresh_Click" />
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
////////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source=SUNDARI-PC\SQLSERVER2012; Initial Catalog=Test; integrated security=true;");
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
BindGridView();
}
public void BindGridView()
{
try
{
using (DataSet ds = new DataSet())
{
IList<Employee> emlpoyeeDtl = new List<Employee>();
SqlDataAdapter adp = new SqlDataAdapter("Select * from Employee", con);
adp.Fill(ds, "Employee");
foreach (var item in ds.Tables[0].Rows)
{
emlpoyeeDtl.Add(
new Employee
{
Id = Convert.ToInt32(((DataRow)(item)).ItemArray[0]),
Name = ((DataRow)(item)).ItemArray[1].ToString()
});
}
GridView1.DataSource = emlpoyeeDtl.ToList();
GridView1.DataBind();
}
}
catch (Exception)
{
//throw;
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand("insert into Employee (Name) values ('" + txtName.Text + "')", con);
int result = cmd.ExecuteNonQuery();
if (result > 0)
{
lblMessage.Visible = true;
lblMessage.Text = "Success fully Save";
}
BindGridView();
}
catch (Exception)
{
lblMessage.Visible = true;
lblMessage.Text = "Error in Saving";
}
finally
{
con.Close();
}
}
protected void btnUpdate_Click(object sender, EventArgs e)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand("update Employee set name ='" + txtName.Text + "' where id='" + ViewState["Id"] + "'", con);
int result = cmd.ExecuteNonQuery();
if (result > 0)
{
lblMessage.Visible = true;
lblMessage.Text = "update fully Save";
}
BindGridView();
}
catch (Exception)
{
lblMessage.Visible = true;
lblMessage.Text = "Error in Update";
}
finally
{
con.Close();
}
}
protected void btnDelete_Click(object sender, EventArgs e)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand("Delete Employee where id='" + ViewState["Id"] + "'", con);
int result = cmd.ExecuteNonQuery();
if (result > 0)
{
lblMessage.Visible = true;
lblMessage.Text = "Deleted";
}
BindGridView();
}
catch (Exception)
{
lblMessage.Visible = true;
lblMessage.Text = "Error in delete";
}
finally
{
con.Close();
}
}
protected void btnREfresh_Click(object sender, EventArgs e)
{
lblMessage.Text = string.Empty;
BindGridView();
}
protected void lbtnName_Click(object sender, EventArgs e)
{
HiddenField hdnId = (HiddenField)((LinkButton)sender).Parent.FindControl("hdnId");
DataSet ds = new DataSet();
Employee emlpoyee = new Employee();
SqlDataAdapter adp = new SqlDataAdapter("Select * from Employee where id='" + hdnId.Value + "'", con);
adp.Fill(ds, "Employee");
ViewState["Id"] = emlpoyee.Id = Convert.ToInt32(ds.Tables["Employee"].Rows[0].ItemArray[0]);
emlpoyee.Name = ds.Tables["Employee"].Rows[0].ItemArray[1].ToString();
txtName.Text = emlpoyee.Name;
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
BindGridView();
}
public SortDirection dir
{
get
{
if (ViewState["dirState"] == null)
{
ViewState["dirState"] = SortDirection.Ascending;
}
return (SortDirection)ViewState["dirState"];
}
set
{
ViewState["dirState"] = value;
}
}
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
using (DataSet ds = new DataSet())
{
DataTable dt = new DataTable();
string sortDir = string.Empty;
if (dir == SortDirection.Ascending)
{
dir = SortDirection.Descending;
sortDir = "Asc";
}
else
{
dir = SortDirection.Ascending;
sortDir = "Desc";
}
IList<Employee> emlpoyeeDtl = new List<Employee>();
SqlDataAdapter adp = new SqlDataAdapter("Select * from Employee", con);
adp.Fill(ds, "Employee");
dt = ds.Tables[0];
DataView sortView = new DataView(dt);
sortView.Sort = e.SortExpression + " " + sortDir;
GridView1.DataSource = sortView;
GridView1.DataBind();
}
}
protected void btnSearch_Click(object sender, EventArgs e)
{
using (DataSet ds = new DataSet())
{
IList<Employee> emlpoyeeDtl = new List<Employee>();
SqlDataAdapter adp = new SqlDataAdapter("Select * from Employee", con);
adp.Fill(ds, "Employee");
foreach (var item in ds.Tables[0].Rows)
{
emlpoyeeDtl.Add(
new Employee
{
Id = Convert.ToInt32(((DataRow)(item)).ItemArray[0]),
Name = ((DataRow)(item)).ItemArray[1].ToString()
});
}
GridView1.DataSource = emlpoyeeDtl.Where(a=>a.Name.ToLower().Contains(txtSearch.Text)).ToList();
GridView1.DataBind();
}
}
}
}
//<%#Eval("SubscriptionDate","{0:dd/MM/yyyy}")%>