datalist in asp.net datalist Editing and paging
design for datalist
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="matrimony._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:DataList ID="DataList1" runat="server" Width="499px"
RepeatDirection="Horizontal" onitemcommand="DataList1_ItemCommand"
onselectedindexchanged="DataList1_SelectedIndexChanged" DataKeyField="id"
onitemdatabound="DataList1_ItemDataBound">
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
VerticalAlign="Middle" />
<ItemTemplate>
<center>Name:<%#DataBinder.Eval(Container.DataItem,"name") %></center>
<center>age:<%#DataBinder.Eval(Container.DataItem,"age") %></center>
<center>religion:<%#DataBinder.Eval(Container.DataItem,"religion") %></center></center>
<center> M.id:<asp:Label ID="df" Text='<%#DataBinder.Eval(Container.DataItem,"id") %>' runat="server"></asp:Label></center>
<center> amount:<asp:Label ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem,"amount","{0:c}") %>' runat="server"></asp:Label></center>
<center><asp:CheckBox ID="chk" runat="server" /> </center>
<center><asp:LinkButton ID="link" runat="server" Text="select" CommandName="select"></asp:LinkButton> </center>
<center>
<asp:LinkButton ID ="hj" runat="server">
<center>
<asp:Image ID="Image1" runat="server" Height="150px" Width="100px" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"photo") %>' /> </center> </asp:LinkButton></center>
</ItemTemplate>
<FooterTemplate>
<center>total: <asp:Label ID="lbl" runat="server"></asp:Label> </center>
</FooterTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="delete" />
</form>
</body>
</html>
code for datalist:
using System;
using System.Collections;
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;
using System.Data.SqlClient;
namespace matrimony
{
public partial class _Default : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select* from newdata", con);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{if (IsPostBack)
{
CheckBox chk = (CheckBox)e.Item.FindControl("chk");
if (chk.Checked == true)
{
Response.Write("hello");
}else
{
Label l1 = (Label)e.Item.FindControl("df");
// Response.Redirect("description.aspx?id=" + l1.Text);
Session["yy"] = l1.Text;
Response.Redirect("description.aspx");
}
}
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
string l = Convert.ToString(DataList1.SelectedValue);
Label li = (Label)DataList1.FindControl("df");
Session["yy"] = l.ToString();
Response.Redirect("description.aspx");
}
decimal total = 0;
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.DataItem != null)
{
total += (decimal)DataBinder.Eval(e.Item.DataItem, "amount");
}
if (e.Item.ItemType == ListItemType.Footer)
{
Label l = (Label)e.Item.FindControl("lbl");
l.Text = total.ToString("c");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
con.Open();
for(int k=0;k<DataList1.Items.Count;k++)
{
CheckBox chk = (CheckBox)DataList1.Items[k].FindControl("chk");
if (chk.Checked)
{
Label inner = (Label)DataList1.Items[k].FindControl("df");
SqlCommand cmd = new SqlCommand("delete from newdata where id='" + inner.Text+ "'", con);
cmd.CommandType = CommandType.Text;
int z = cmd.ExecuteNonQuery();
if (z > 0)
{
}
}
}
Response.Write("deleted succesfuuly");
SqlDataAdapter da = new SqlDataAdapter("select* from newdata", con);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
datalist Editing and paging
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">
.style1
{
width: 59%;
height: 152px;
margin-right: 25px;
}
.style2
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="style1">
<tr>
<td>
Name</td>
<td>
<asp:TextBox ID="Tb_Name" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Roomno</td>
<td>
<asp:TextBox ID="Tb_Roomno" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Age</td>
<td >
<asp:TextBox ID="Tb_age" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Address</td><td ><asp:TextBox ID="Tb_Address" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
image</td>
<td>
<asp:FileUpload ID="Fup_load" runat="server"></asp:FileUpload>
<asp:RegularExpressionValidator runat="server"
ErrorMessage="Invalid File!(only .gif, .jpg, .jpeg, .wav Files are supported)"
ValidationExpression="^.+(.jpg|.JPG|.gif|.GIF|.jpeg|JPEG)$"
ControlToValidate="Fup_load"
>
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>
</td>
<td>
<center>
<asp:Button ID="Bt_Submit" runat="server" onclick="Bt_Submit_Click"
Text="Submit" />
</center>
</td>
</tr>
</table>
</div>
<p>
</p>
<p>
</p>
<p>
<asp:DataList ID="DataList1" runat="server" Width="100px"
CellPadding="4" ForeColor="#333333" RepeatColumns="2" DataKeyField="id"
oncancelcommand="DataList1_CancelCommand"
ondeletecommand="DataList1_DeleteCommand" oneditcommand="DataList1_EditCommand"
onupdatecommand="DataList1_UpdateCommand" Height="573px"
onselectedindexchanged="DataList1_SelectedIndexChanged"
RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False">
<EditItemTemplate>
<table border="2">
<tr>
Name:
<center>
<td align="center">
<asp:TextBox ID="Tb_ename" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Room No.:
<center>
<td align="center">
<asp:TextBox ID="Tb_eroomno" runat="server" Text='<%# Eval("Roomno") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Age:
<center>
<td>
<asp:TextBox ID="Tb_eage" runat="server" Text='<%# Eval("age") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Address:
<center>
<td>
<asp:TextBox ID="Tb_eaddress" runat="server" Text='<%# Eval("Address") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
<td>
<asp:LinkButton ID="Lb_Update" runat="server" Text="update" CommandName="update">Update</asp:LinkButton>
<br />
<asp:LinkButton ID="Lb_Cancel" runat="server" Text="cancel" CommandName="cancel">Cancel</asp:LinkButton>
</td>
</tr>
</table>
</EditItemTemplate>
<ItemTemplate>
<table>
<tr align="center">
photo:
<img alt="" src='pics/<%#Eval("image") %>'
style="height: 104px; width: 120px" />
</tr>
<tr align="center">
Name:
<center>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</center>
</tr>
<tr align="center">
Roomno:
<center><asp:Label ID="Label2" runat="server" Text='<%# Eval("Roomno") %>'></asp:Label></center>
</tr>
<tr>
<tr align="center">
age:
<center>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("age") %>'></asp:Label>
</center>
</tr>
<tr align="center">
address:
<center><asp:Label ID="Label4" runat="server" Text='<%# Eval("Address") %>'
Width="200px">
</asp:Label>
</center>
</tr>
<tr align="center">
<asp:LinkButton ID="Lb_Edit" runat="server" CommandName="edit">Edit</asp:LinkButton>
</tr>
<tr align="center">
<asp:LinkButton ID="Delete" runat="server"
onclientclick="return confirm(‘Are you sure want to delete current record’)">
Delete</asp:LinkButton>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" onclick="btnNext_Click">Next </asp:LinkButton>
<asp:LinkButton ID="btnFirst" runat="server" CausesValidation="false" onclick="btnFirst_Click"> First</asp:LinkButton>
<asp:LinkButton ID="btnPrev" runat="server" onclick="btnPrev_Click1">
Prev</asp:LinkButton>
<asp:LinkButton ID="btnLast" runat="server" onclick="btnLast_Click1">Last
</asp:LinkButton>
</p>
</form>
</body>
</html>
code behind coding-
using System;
using System.Collections;
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;
using System.Data.SqlClient;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;
String fn; // for image filename
String save;// storing the path of the image filename
Int32 cnt; //count the total records
decimal last1; // access the last record
PagedDataSource pagedData = new PagedDataSource();
protected void Page_Load(object sender, EventArgs e)
{
con= new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
con.Open();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
con.Close();
if (IsPostBack == false)
{
doPaging(); // This time we will put doPaging method in ispostback.
// This is because we can update the records.
}}
public DataTable getTheData()
{
DataSet DS = new DataSet();
SqlDataAdapter objSQLAdapter = new SqlDataAdapter("select * from tbHostel", con);
objSQLAdapter.Fill(DS);
if (DS.Tables[0].Rows.Count == 0)
{}
else
{
Session["cnt"] = DS.Tables[0].Rows.Count;
//will count the total record
}
return DS.Tables[0];
}
private void doPaging()
{
// set the RepeatColumn property 2 of the Datalist control
pagedData.DataSource = getTheData().DefaultView; //will fetch the records from getTheData() method
//and store in pagedDataSource
pagedData.AllowPaging = true;
pagedData.PageSize = 2;
//will display the 2 records at time in row and coulmn wise
cnt = Convert.ToInt32(Session["cnt"]);
//total record or you can use here viewstate
last1 = cnt / pagedData.PageSize;
last1 = Convert.ToDecimal(Math.Ceiling(last1));
// to find the last record will change 9/2=4.5 into 5
try
{
pagedData.CurrentPageIndex = Int32.Parse(Request.QueryString["Page"].ToString());
}
catch (Exception ex)
{
pagedData.CurrentPageIndex = 0;
}
//place four buttons and name btnprev,btnfirst,last and btnnext
btnPrev.Visible = (!pagedData.IsFirstPage);
btnFirst.Visible = (!pagedData.IsFirstPage);
btnNext.Visible = (!pagedData.IsLastPage);
btnLast.Visible = (!pagedData.IsLastPage);
DataList1.DataSource = pagedData;
DataList1.DataBind();
}
protected void Bt_Submit_Click(object sender, EventArgs e)
{
if (Fup_load.PostedFile.ContentLength>0)
{
fn = Path.GetFileName(Fup_load.FileName);
save = Server.MapPath("pics") + "/" + fn; // fn for Image file name
Fup_load.SaveAs(save); // will save the image in pics folder
}
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd= new SqlCommand("insert into tbhostel values(@Name,@age,@Roomno,@Address,@image)",con);
cmd.Parameters.AddWithValue("@Name",Tb_Name.Text);
cmd.Parameters.AddWithValue("@age",Tb_age.Text);
cmd.Parameters.AddWithValue("@Roomno",Tb_Roomno.Text);
cmd.Parameters.AddWithValue("@Address",Tb_Address.Text);
cmd.Parameters.AddWithValue("@image",fn);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
doPaging();
txt_clr();
}
private void txt_clr()
{
Tb_Name.Text = String.Empty;
Tb_age.Text = String.Empty;
Tb_Roomno.Text = String.Empty;
Tb_Address.Text = String.Empty;
}
protected void btnNext_Click(object sender, EventArgs e)
{
doPaging(); // will call the dopaging method
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex + 1).ToString());
}
protected void btnFirst_Click(object sender, EventArgs e)
{
doPaging();
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex == 1).ToString());
}
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
doPaging();
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
// set the DataKeyField property of Datalist with id name field
Int32 id = (Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex]));
if (con.State==ConnectionState.Closed)
{
con.Open();
}
cmd = new SqlCommand("delete from tbhostel where id=@id", con);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
doPaging();
}
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
doPaging();
}
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
Int32 id = (Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex])); // will give us the id
if (con.State==ConnectionState.Closed )
{
con.Open();
}
cmd = new SqlCommand("update tbhostel set Name=@Name,Roomno=@Roomno,age=@age,Address=@Address where id=@id", con);
cmd.Parameters.AddWithValue("@Name", ((TextBox)(e.Item.FindControl("Tb_ename"))).Text);
cmd.Parameters.AddWithValue("@Roomno", ((TextBox)(e.Item.FindControl("Tb_eroomno"))).Text);
cmd.Parameters.AddWithValue("@age", ((TextBox)(e.Item.FindControl("Tb_eage"))).Text);
cmd.Parameters.AddWithValue("@Address", ((TextBox)(e.Item.FindControl("Tb_eaddress"))).Text);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
cmd.Dispose();
DataList1.EditItemIndex = -1;
doPaging();
con.Close();
}
protected void btnLast_Click1(object sender, EventArgs e)
{
doPaging();
Response.Redirect("Default.aspx?page=" + Convert.ToInt32(last1));
}
protected void btnPrev_Click1(object sender, EventArgs e)
{
doPaging();
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex - 1).ToString());
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
![]() | ![]() | ![]() |
design for datalist
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="matrimony._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:DataList ID="DataList1" runat="server" Width="499px"
RepeatDirection="Horizontal" onitemcommand="DataList1_ItemCommand"
onselectedindexchanged="DataList1_SelectedIndexChanged" DataKeyField="id"
onitemdatabound="DataList1_ItemDataBound">
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
VerticalAlign="Middle" />
<ItemTemplate>
<center>Name:<%#DataBinder.Eval(Container.DataItem,"name") %></center>
<center>age:<%#DataBinder.Eval(Container.DataItem,"age") %></center>
<center>religion:<%#DataBinder.Eval(Container.DataItem,"religion") %></center></center>
<center> M.id:<asp:Label ID="df" Text='<%#DataBinder.Eval(Container.DataItem,"id") %>' runat="server"></asp:Label></center>
<center> amount:<asp:Label ID="Label1" Text='<%# DataBinder.Eval(Container.DataItem,"amount","{0:c}") %>' runat="server"></asp:Label></center>
<center><asp:CheckBox ID="chk" runat="server" /> </center>
<center><asp:LinkButton ID="link" runat="server" Text="select" CommandName="select"></asp:LinkButton> </center>
<center>
<asp:LinkButton ID ="hj" runat="server">
<center>
<asp:Image ID="Image1" runat="server" Height="150px" Width="100px" ImageUrl='<%#DataBinder.Eval(Container.DataItem,"photo") %>' /> </center> </asp:LinkButton></center>
</ItemTemplate>
<FooterTemplate>
<center>total: <asp:Label ID="lbl" runat="server"></asp:Label> </center>
</FooterTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="delete" />
</form>
</body>
</html>
code for datalist:
using System;
using System.Collections;
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;
using System.Data.SqlClient;
namespace matrimony
{
public partial class _Default : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select* from newdata", con);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{if (IsPostBack)
{
CheckBox chk = (CheckBox)e.Item.FindControl("chk");
if (chk.Checked == true)
{
Response.Write("hello");
}else
{
Label l1 = (Label)e.Item.FindControl("df");
// Response.Redirect("description.aspx?id=" + l1.Text);
Session["yy"] = l1.Text;
Response.Redirect("description.aspx");
}
}
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
string l = Convert.ToString(DataList1.SelectedValue);
Label li = (Label)DataList1.FindControl("df");
Session["yy"] = l.ToString();
Response.Redirect("description.aspx");
}
decimal total = 0;
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.DataItem != null)
{
total += (decimal)DataBinder.Eval(e.Item.DataItem, "amount");
}
if (e.Item.ItemType == ListItemType.Footer)
{
Label l = (Label)e.Item.FindControl("lbl");
l.Text = total.ToString("c");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
con.Open();
for(int k=0;k<DataList1.Items.Count;k++)
{
CheckBox chk = (CheckBox)DataList1.Items[k].FindControl("chk");
if (chk.Checked)
{
Label inner = (Label)DataList1.Items[k].FindControl("df");
SqlCommand cmd = new SqlCommand("delete from newdata where id='" + inner.Text+ "'", con);
cmd.CommandType = CommandType.Text;
int z = cmd.ExecuteNonQuery();
if (z > 0)
{
}
}
}
Response.Write("deleted succesfuuly");
SqlDataAdapter da = new SqlDataAdapter("select* from newdata", con);
DataSet ds = new DataSet();
da.Fill(ds);
DataList1.DataSource = ds;
DataList1.DataBind();
}
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
datalist Editing and paging
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<style type="text/css">
.style1
{
width: 59%;
height: 152px;
margin-right: 25px;
}
.style2
{
width: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table class="style1">
<tr>
<td>
Name</td>
<td>
<asp:TextBox ID="Tb_Name" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Roomno</td>
<td>
<asp:TextBox ID="Tb_Roomno" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Age</td>
<td >
<asp:TextBox ID="Tb_age" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
Address</td><td ><asp:TextBox ID="Tb_Address" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
image</td>
<td>
<asp:FileUpload ID="Fup_load" runat="server"></asp:FileUpload>
<asp:RegularExpressionValidator runat="server"
ErrorMessage="Invalid File!(only .gif, .jpg, .jpeg, .wav Files are supported)"
ValidationExpression="^.+(.jpg|.JPG|.gif|.GIF|.jpeg|JPEG)$"
ControlToValidate="Fup_load"
>
</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>
</td>
<td>
<center>
<asp:Button ID="Bt_Submit" runat="server" onclick="Bt_Submit_Click"
Text="Submit" />
</center>
</td>
</tr>
</table>
</div>
<p>
</p>
<p>
</p>
<p>
<asp:DataList ID="DataList1" runat="server" Width="100px"
CellPadding="4" ForeColor="#333333" RepeatColumns="2" DataKeyField="id"
oncancelcommand="DataList1_CancelCommand"
ondeletecommand="DataList1_DeleteCommand" oneditcommand="DataList1_EditCommand"
onupdatecommand="DataList1_UpdateCommand" Height="573px"
onselectedindexchanged="DataList1_SelectedIndexChanged"
RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False">
<EditItemTemplate>
<table border="2">
<tr>
Name:
<center>
<td align="center">
<asp:TextBox ID="Tb_ename" runat="server" Text='<%# Eval("Name") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Room No.:
<center>
<td align="center">
<asp:TextBox ID="Tb_eroomno" runat="server" Text='<%# Eval("Roomno") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Age:
<center>
<td>
<asp:TextBox ID="Tb_eage" runat="server" Text='<%# Eval("age") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
Address:
<center>
<td>
<asp:TextBox ID="Tb_eaddress" runat="server" Text='<%# Eval("Address") %>'></asp:TextBox>
</td>
</center>
</tr>
<tr>
<td>
<asp:LinkButton ID="Lb_Update" runat="server" Text="update" CommandName="update">Update</asp:LinkButton>
<br />
<asp:LinkButton ID="Lb_Cancel" runat="server" Text="cancel" CommandName="cancel">Cancel</asp:LinkButton>
</td>
</tr>
</table>
</EditItemTemplate>
<ItemTemplate>
<table>
<tr align="center">
photo:
<img alt="" src='pics/<%#Eval("image") %>'
style="height: 104px; width: 120px" />
</tr>
<tr align="center">
Name:
<center>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
</center>
</tr>
<tr align="center">
Roomno:
<center><asp:Label ID="Label2" runat="server" Text='<%# Eval("Roomno") %>'></asp:Label></center>
</tr>
<tr>
<tr align="center">
age:
<center>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("age") %>'></asp:Label>
</center>
</tr>
<tr align="center">
address:
<center><asp:Label ID="Label4" runat="server" Text='<%# Eval("Address") %>'
Width="200px">
</asp:Label>
</center>
</tr>
<tr align="center">
<asp:LinkButton ID="Lb_Edit" runat="server" CommandName="edit">Edit</asp:LinkButton>
</tr>
<tr align="center">
<asp:LinkButton ID="Delete" runat="server"
onclientclick="return confirm(‘Are you sure want to delete current record’)">
Delete</asp:LinkButton>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" onclick="btnNext_Click">Next </asp:LinkButton>
<asp:LinkButton ID="btnFirst" runat="server" CausesValidation="false" onclick="btnFirst_Click"> First</asp:LinkButton>
<asp:LinkButton ID="btnPrev" runat="server" onclick="btnPrev_Click1">
Prev</asp:LinkButton>
<asp:LinkButton ID="btnLast" runat="server" onclick="btnLast_Click1">Last
</asp:LinkButton>
</p>
</form>
</body>
</html>
code behind coding-
using System;
using System.Collections;
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;
using System.Data.SqlClient;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
SqlConnection con;
SqlCommand cmd;
String fn; // for image filename
String save;// storing the path of the image filename
Int32 cnt; //count the total records
decimal last1; // access the last record
PagedDataSource pagedData = new PagedDataSource();
protected void Page_Load(object sender, EventArgs e)
{
con= new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
con.Open();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
con.Close();
if (IsPostBack == false)
{
doPaging(); // This time we will put doPaging method in ispostback.
// This is because we can update the records.
}}
public DataTable getTheData()
{
DataSet DS = new DataSet();
SqlDataAdapter objSQLAdapter = new SqlDataAdapter("select * from tbHostel", con);
objSQLAdapter.Fill(DS);
if (DS.Tables[0].Rows.Count == 0)
{}
else
{
Session["cnt"] = DS.Tables[0].Rows.Count;
//will count the total record
}
return DS.Tables[0];
}
private void doPaging()
{
// set the RepeatColumn property 2 of the Datalist control
pagedData.DataSource = getTheData().DefaultView; //will fetch the records from getTheData() method
//and store in pagedDataSource
pagedData.AllowPaging = true;
pagedData.PageSize = 2;
//will display the 2 records at time in row and coulmn wise
cnt = Convert.ToInt32(Session["cnt"]);
//total record or you can use here viewstate
last1 = cnt / pagedData.PageSize;
last1 = Convert.ToDecimal(Math.Ceiling(last1));
// to find the last record will change 9/2=4.5 into 5
try
{
pagedData.CurrentPageIndex = Int32.Parse(Request.QueryString["Page"].ToString());
}
catch (Exception ex)
{
pagedData.CurrentPageIndex = 0;
}
//place four buttons and name btnprev,btnfirst,last and btnnext
btnPrev.Visible = (!pagedData.IsFirstPage);
btnFirst.Visible = (!pagedData.IsFirstPage);
btnNext.Visible = (!pagedData.IsLastPage);
btnLast.Visible = (!pagedData.IsLastPage);
DataList1.DataSource = pagedData;
DataList1.DataBind();
}
protected void Bt_Submit_Click(object sender, EventArgs e)
{
if (Fup_load.PostedFile.ContentLength>0)
{
fn = Path.GetFileName(Fup_load.FileName);
save = Server.MapPath("pics") + "/" + fn; // fn for Image file name
Fup_load.SaveAs(save); // will save the image in pics folder
}
if (con.State == ConnectionState.Closed)
{
con.Open();
}
cmd= new SqlCommand("insert into tbhostel values(@Name,@age,@Roomno,@Address,@image)",con);
cmd.Parameters.AddWithValue("@Name",Tb_Name.Text);
cmd.Parameters.AddWithValue("@age",Tb_age.Text);
cmd.Parameters.AddWithValue("@Roomno",Tb_Roomno.Text);
cmd.Parameters.AddWithValue("@Address",Tb_Address.Text);
cmd.Parameters.AddWithValue("@image",fn);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
doPaging();
txt_clr();
}
private void txt_clr()
{
Tb_Name.Text = String.Empty;
Tb_age.Text = String.Empty;
Tb_Roomno.Text = String.Empty;
Tb_Address.Text = String.Empty;
}
protected void btnNext_Click(object sender, EventArgs e)
{
doPaging(); // will call the dopaging method
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex + 1).ToString());
}
protected void btnFirst_Click(object sender, EventArgs e)
{
doPaging();
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex == 1).ToString());
}
protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = -1;
doPaging();
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
// set the DataKeyField property of Datalist with id name field
Int32 id = (Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex]));
if (con.State==ConnectionState.Closed)
{
con.Open();
}
cmd = new SqlCommand("delete from tbhostel where id=@id", con);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();
doPaging();
}
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
doPaging();
}
protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)
{
Int32 id = (Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex])); // will give us the id
if (con.State==ConnectionState.Closed )
{
con.Open();
}
cmd = new SqlCommand("update tbhostel set Name=@Name,Roomno=@Roomno,age=@age,Address=@Address where id=@id", con);
cmd.Parameters.AddWithValue("@Name", ((TextBox)(e.Item.FindControl("Tb_ename"))).Text);
cmd.Parameters.AddWithValue("@Roomno", ((TextBox)(e.Item.FindControl("Tb_eroomno"))).Text);
cmd.Parameters.AddWithValue("@age", ((TextBox)(e.Item.FindControl("Tb_eage"))).Text);
cmd.Parameters.AddWithValue("@Address", ((TextBox)(e.Item.FindControl("Tb_eaddress"))).Text);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
cmd.Dispose();
DataList1.EditItemIndex = -1;
doPaging();
con.Close();
}
protected void btnLast_Click1(object sender, EventArgs e)
{
doPaging();
Response.Redirect("Default.aspx?page=" + Convert.ToInt32(last1));
}
protected void btnPrev_Click1(object sender, EventArgs e)
{
doPaging();
Response.Redirect(Request.CurrentExecutionFilePath + "?Page=" + (pagedData.CurrentPageIndex - 1).ToString());
}
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
out put look like this:


