Tuesday, 26 July 2016

Adding gridview row values using viewstate and delete the temporary rows with conformation

Step 1 : Adding the two text box and one button and gridview  like below in your page.

Step 2: Add the code in aspx page.


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CS.aspx.cs" Inherits="CS" %>

<!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></title>
    <style type="text/css">
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
        
    </style>
</head>
<body>
    <form id="form1" runat="server">
        <br />
        <center>

        
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse">
        <tr>
            <td style="padding-bottom: 10px">
                Name:<br />
                <asp:TextBox ID="txtName" runat="server" />
            </td>
        </tr>
        <tr>
            <td style="padding-bottom: 10px">
                Country:<br />
                <asp:TextBox ID="txtCountry" runat="server" />
            </td>
        </tr>
        <tr>
            <td style="width: 100px">
                <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="Insert" />
            </td>
        </tr>
    </table>
        <br />
        <asp:GridView ID="GridView1" runat="server" CssClass="Grid" AutoGenerateColumns="False"
        EmptyDataText="No records has been added." CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDeleting="OnRowDeleting" OnRowDataBound = "OnRowDataBound">
         <AlternatingRowStyle BackColor="White" />
         <Columns>
              <asp:CommandField ShowDeleteButton="True" ButtonType="Button" />
            <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="120" >
<ItemStyle Width="120px"></ItemStyle>
            </asp:BoundField>
            <asp:BoundField DataField="Country" HeaderText="Country" ItemStyle-Width="120" >
<ItemStyle Width="120px"></ItemStyle>
            </asp:BoundField>
        </Columns>
                      <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
         <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
         <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
         <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
         <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
         <SortedAscendingCellStyle BackColor="#FDF5AC" />
         <SortedAscendingHeaderStyle BackColor="#4D0000" />
         <SortedDescendingCellStyle BackColor="#FCF6C0" />
         <SortedDescendingHeaderStyle BackColor="#820000" />
                      </asp:GridView>
            </center>
    </form>
</body>
</html>

Step 2: Add the code in C#  page.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class CS : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Name"), new DataColumn("Country") });
            ViewState["jkt"] = dt;
            this.BindGrid();
        }
    }

    protected void BindGrid()
    {
        GridView1.DataSource = (DataTable)ViewState["jkt"];
        GridView1.DataBind();
    }

    protected void Insert(object sender, EventArgs e)
    {
        DataTable dt = (DataTable)ViewState["jkt"];
        dt.Rows.Add(txtName.Text.Trim(), txtCountry.Text.Trim());
        ViewState["jkt"] = dt;
        this.BindGrid();
        txtName.Text = string.Empty;
        txtCountry.Text = string.Empty;
    }
    protected void OnRowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int index = Convert.ToInt32(e.RowIndex);
        DataTable dt = ViewState["jkt"] as DataTable;
        dt.Rows[index].Delete();
        ViewState["jkt"] = dt;
        BindGrid();
    }

    protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string item = e.Row.Cells[0].Text;
            foreach (Button button in e.Row.Cells[0].Controls.OfType<Button>())
            {
                if (button.CommandName == "Delete")
                {
                    button.Attributes["onclick"] = "if(!confirm('Do you want to delete " + item + "?')){ return false; };";
                }
            }
        }
    }
}


Step 3: Run the page .




Step 4:Enter some values .


Step 5: Delete any one row .


Step 6: Click OK.





Step 7: Download the source code the given the below link .

No comments:

Post a Comment

How to create a simple Hello World website in ASP.NET MVC using Razor Syntax: (Note: I am using Visual Studio 2012 ) Step 1: ...