HTML
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
table
{
border: 1px solid #ccc;
}
table th
{
background-color: #F7F7F7;
color: #333;
font-weight: bold;
}
table th, table td
{
padding: 5px;
width:100px;
border-color: #ccc;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:DetailsView ID="DetailsView1" runat="server" OnItemCreated="OnItemCreated" OnItemDeleting="OnItemDeleting"
OnPageIndexChanging="OnPageIndexChanging" AllowPaging="true">
<Fields>
<asp:BoundField DataField="Item" HeaderText="price" SortExpression="Item" />
<asp:BoundField DataField="Price" HeaderText="Quantity" SortExpression="Price" />
<asp:CommandField ShowDeleteButton="True" ButtonType="Button" />
</Fields>
</asp:DetailsView>
</form>
</body>
</html>
Namespace
using System.Data;
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Item"), new DataColumn("Price") });
dt.Rows.Add("Shirt", 450);
dt.Rows.Add("Jeans", 3200);
dt.Rows.Add("Trousers", 1900);
dt.Rows.Add("Tie", 185);
dt.Rows.Add("Cap", 100);
dt.Rows.Add("Hat", 120);
dt.Rows.Add("Scarf", 290);
dt.Rows.Add("Belt", 150);
ViewState["dt"] = dt;
BindGrid();
}
}
protected void BindGrid()
{
DetailsView1.DataSource = ViewState["dt"] as DataTable;
DetailsView1.DataBind();
}
protected void OnItemDeleting(object sender, DetailsViewDeleteEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex);
DataTable dt = ViewState["dt"] as DataTable;
dt.Rows[index].Delete();
ViewState["dt"] = dt;
BindGrid();
}
protected void OnItemCreated(object sender, EventArgs e)
{
int commandRowIndex = DetailsView1.Rows.Count - 1;
DetailsViewRow commandRow = DetailsView1.Rows[commandRowIndex];
foreach (Button button in commandRow.Controls[0].Controls.OfType<Button>())
{
if (button.CommandName == "Delete")
{
button.Attributes["onclick"] = "if(!confirm('Do you want to delete?')){ return false; };";
}
}
}
protected void OnPageIndexChanging(object sender, DetailsViewPageEventArgs e)
{
DetailsView1.PageIndex = e.NewPageIndex;
BindGrid();
}