You must Sign In to post a response.
  • Category: ASP.NET

    Gridview with delete command

    code for delete row from gridview
  • #276796
    The sample code is that of a code behind page that handles GridView events to select, delete and cancel rows in a GridView control in ASP.NET


    Imports System.Data
    Imports System.Data.SqlClient
    Partial Class _Default
    Inherits System.Web.UI.Page
    Dim ds As New DataSet
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
    Gridbind()
    End If
    End Sub
    Sub Gridbind()

    'bind the database values to Gridveiw using dataset control

    Dim con As SqlClient.SqlConnection
    Dim da As SqlDataAdapter
    Dim str As String
    str = "USER=ffff;PASSWORD=fffff;SERVER=gggg;DATABASE=Emp"
    con = New SqlConnection(str)
    da = New SqlDataAdapter("select * from gr", con)
    da.Fill(ds, "Employee")
    GridView1.DataSource = ds
    GridView1.DataBind()
    con.Close()
    End Sub
    Sub Delete(ByVal x)
    'Delete the particular records from database
    Dim con As SqlClient.SqlConnection
    Dim da As SqlCommand
    Dim str As String
    str = "USER=sasssss;PASSWORD=sssss;SERVER=ffff;DATABASE=Emp"
    con = New SqlConnection(str)
    con.Open()
    da = New SqlCommand("delete from gr where empno='" & x & "'", con)
    da.ExecuteNonQuery()
    MsgBox("Row was deleted")
    End Sub

    Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GridView1.RowCancelingEdit
    GridView1.EditIndex = -1
    End Sub

    Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
    ''Before RowDeleteing event this rowcommand event will fire.
    If e.CommandName = "Delete" Then
    Dim mscreenkey As String
    mscreenkey = Convert.ToString(e.CommandArgument)
    End If
    End Sub
    Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
    'Delete the row and take the row index values using DataKeys
    'in xml we will gave Datakeyname="EmpNo" or Unique id of the row
    Dim mScreenKey As String
    mScreenKey = Convert.ToString(GridView1.DataKeys(e.RowIndex).Value)
    Delete(mScreenKey)
    Gridbind()
    End Sub
    Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridView1.RowEditing
    GridView1.EditIndex = e.NewEditIndex
    End Sub
    Protected Sub GridView1_SelectedIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewSelectEventArgs) Handles GridView1.SelectedIndexChanging
    GridView1.SelectedRowStyle.ForeColor = Drawing.Color.Red
    End Sub

    End Class



    Thanks & Regards
    G.Renganathan
    Nothing is mine ,Everything is yours!!!

  • #276815
    hi,
    <%@ Page Language="C#" AutoEventWireup="True" %>
    <%@ Import Namespace="System.Data" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html >
    <script runat="server">

    // The Cart and CartView objects temporarily store the data source
    // for the DataGrid control while the page is being processed.
    DataTable Cart = new DataTable();
    DataView CartView;

    void Page_Load(Object sender, EventArgs e)
    {

    // With a database, use an select query to retrieve the data. Because
    // the data source in this example is an in-memory DataTable, retrieve
    // the data from session state if it exists; otherwise, create the data
    // source.
    GetSource();

    // The DataGrid control maintains state between posts to the server;
    // it only needs to be bound to a data source the first time the page
    // is loaded or when the data source is updated.
    if (!IsPostBack)
    {

    BindGrid();

    }

    }

    void ItemsGrid_Edit(Object sender, DataGridCommandEventArgs e)
    {

    // Set the EditItemIndex property to the index of the item clicked
    // in the DataGrid control to enable editing for that item. Be sure
    // to rebind the DateGrid to the data source to refresh the control.
    ItemsGrid.EditItemIndex = e.Item.ItemIndex;
    BindGrid();

    }

    void ItemsGrid_Cancel(Object sender, DataGridCommandEventArgs e)
    {

    // Set the EditItemIndex property to -1 to exit editing mode.
    // Be sure to rebind the DateGrid to the data source to refresh
    // the control.
    ItemsGrid.EditItemIndex = -1;
    BindGrid();

    }

    void ItemsGrid_Update(Object sender, DataGridCommandEventArgs e)
    {

    // Retrieve the text boxes that contain the values to update.
    // For bound columns, the edited value is stored in a TextBox.
    // The TextBox is the 0th control in a cell's Controls collection.
    // Each cell in the Cells collection of a DataGrid item represents
    // a column in the DataGrid control.
    TextBox qtyText = (TextBox)e.Item.Cells[3].Controls[0];
    TextBox priceText = (TextBox)e.Item.Cells[4].Controls[0];

    // Retrieve the updated values.
    String item = e.Item.Cells[2].Text;
    String qty = qtyText.Text;
    String price = priceText.Text;

    DataRow dr;

    // With a database, use an update command to update the data.
    // Because the data source in this example is an in-memory
    // DataTable, delete the old row and replace it with a new one.

    // Remove the old entry and clear the row filter.
    CartView.RowFilter = "Item='" + item + "'";
    if (CartView.Count > 0)
    {
    CartView.Delete(0);
    }
    CartView.RowFilter = "";

    // ***************************************************************
    // Insert data validation code here. Be sure to validate the
    // values entered by the user before converting to the appropriate
    // data types and updating the data source.
    // ***************************************************************

    // Add the new entry.
    dr = Cart.NewRow();
    dr[0] = Convert.ToInt32(qty);
    dr[1] = item;

    // If necessary, remove the '$' character from the price before
    // converting it to a Double.
    if(price[0] == '$')
    {
    dr[2] = Convert.ToDouble(price.Substring(1));
    }
    else
    {
    dr[2] = Convert.ToDouble(price);
    }

    Cart.Rows.Add(dr);

    // Set the EditItemIndex property to -1 to exit editing mode.
    // Be sure to rebind the DateGrid to the data source to refresh
    // the control.
    ItemsGrid.EditItemIndex = -1;
    BindGrid();

    }

    void BindGrid()
    {

    // Set the data source and bind to the Data Grid control.
    ItemsGrid.DataSource = CartView;
    ItemsGrid.DataBind();

    }

    void GetSource()
    {

    // For this example, the data source is a DataTable that is stored
    // in session state. If the data source does not exist, create it;
    // otherwise, load the data.
    if (Session["ShoppingCart"] == null)
    {

    // Create the sample data.
    DataRow dr;

    // Define the columns of the table.
    Cart.Columns.Add(new DataColumn("Qty", typeof(Int32)));
    Cart.Columns.Add(new DataColumn("Item", typeof(String)));
    Cart.Columns.Add(new DataColumn("Price", typeof(Double)));

    // Store the table in session state to persist its values
    // between posts to the server.
    Session["ShoppingCart"] = Cart;

    // Populate the DataTable with sample data.
    for (int i = 1; i <= 9; i++)
    {
    dr = Cart.NewRow();
    if (i % 2 != 0)
    {
    dr[0] = 2;
    }
    else
    {
    dr[0] = 1;
    }
    dr[1] = "Item " + i.ToString();
    dr[2] = (1.23 * (i + 1));
    Cart.Rows.Add(dr);
    }

    }

    else
    {

    // Retrieve the sample data from session state.
    Cart = (DataTable)Session["ShoppingCart"];

    }

    // Create a DataView and specify the field to sort by.
    CartView = new DataView(Cart);
    CartView.Sort="Item";

    return;

    }

    void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
    {

    switch(((LinkButton)e.CommandSource).CommandName)
    {

    case "Delete":
    DeleteItem(e);
    break;

    // Add other cases here, if there are multiple ButtonColumns in
    // the DataGrid control.

    default:
    // Do nothing.
    break;

    }

    }

    void DeleteItem(DataGridCommandEventArgs e)
    {

    // e.Item is the table row where the command is raised. For bound
    // columns, the value is stored in the Text property of a TableCell.
    TableCell itemCell = e.Item.Cells[2];
    string item = itemCell.Text;

    // Remove the selected item from the data source.
    CartView.RowFilter = "Item='" + item + "'";
    if (CartView.Count > 0)
    {
    CartView.Delete(0);
    }
    CartView.RowFilter = "";

    // Rebind the data source to refresh the DataGrid control.
    BindGrid();

    }

    </script>

    <head runat="server">
    <title>DataGrid Editing Example</title>
    </head>
    <body>

    <form id="form1" runat="server">

    <h3>DataGrid Editing Example</h3>

    <asp:DataGrid id="ItemsGrid"
    BorderColor="black"
    BorderWidth="1"
    CellPadding="3"
    OnEditCommand="ItemsGrid_Edit"
    OnCancelCommand="ItemsGrid_Cancel"
    OnUpdateCommand="ItemsGrid_Update"
    OnItemCommand="ItemsGrid_Command"
    AutoGenerateColumns="false"
    runat="server">

    <HeaderStyle BackColor="#aaaadd">
    </HeaderStyle>

    <Columns>

    <asp:EditCommandColumn
    EditText="Edit"
    CancelText="Cancel"
    UpdateText="Update"
    HeaderText="Edit item">

    <ItemStyle Wrap="False">
    </ItemStyle>

    <HeaderStyle Wrap="False">
    </HeaderStyle>

    </asp:EditCommandColumn>

    <asp:ButtonColumn
    HeaderText="Delete item"
    ButtonType="LinkButton"
    Text="Delete"
    CommandName="Delete"/>

    <asp:BoundColumn HeaderText="Item"
    ReadOnly="True"
    DataField="Item"/>

    <asp:BoundColumn HeaderText="Quantity"
    DataField="Qty"/>

    <asp:BoundColumn HeaderText="Price"
    DataField="Price"
    DataFormatString="{0:c}"/>

    </Columns>

    </asp:DataGrid>

    </form>

    </body>
    </html>

  • #276817
    http://www.dotnetcurry.com/ShowArticle.aspx?ID=66

  • #276932

    protected void Page_Load(object sender, EventArgs e)
    {
    if (!IsPostBack)
    {
    GridBind();
    }
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
    GridView1.EditIndex = -1;
    GridBind();
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
    GridView1.EditIndex = e.NewEditIndex;
    GridBind();
    }

    protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
    {
    GridView1.SelectedRowStyle.ForeColor = System.Drawing.Color.Red;
    }
    public void GridBind()
    {
    conn.Open();
    sda = new SqlDataAdapter("Select FirstName,LastName from member", conn);
    ds = new DataSet();
    sda.Fill(ds);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    conn.Close();
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
    //if (e.CommandName == "Delete")
    //{
    // string mscreenkey;
    // mscreenkey = Convert.ToString(e.CommandArgument);
    //}
    //if (e.CommandName == "Edit")
    //{
    // string mscreenkey;
    // mscreenkey = Convert.ToString(e.CommandArgument);
    //}

    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
    conn.Open();
    cmd = new SqlCommand("delete from member where FirstName='" + GridView1.DataKeys[e.RowIndex].Value + "'", conn);
    cmd.ExecuteNonQuery();
    conn.Close();

    Response.Write("Row Deleted..");
    GridBind();
    }


    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
    conn.Open();
    string LastName = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
    cmd = new SqlCommand("Update member set LastName='" + LastName + "' where FirstName='" + GridView1.DataKeys[e.RowIndex].Value + "'", conn);
    cmd.ExecuteNonQuery();
    conn.Close();
    GridView1.EditIndex = -1;
    GridBind();
    // Response.Write("Row Updated..");
    // Response.Write("<script>" + "alert('" + GridView1.DataKeys[e.RowIndex].Value + "');" + "</script>");

    }


    .aspx:
    <asp:GridView ID="GridView1" runat="server" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowCommand="GridView1_RowCommand" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True"
    Width="272px" AutoGenerateSelectButton="True" AllowSorting="True" DataKeyNames="FirstName" OnRowUpdating="GridView1_RowUpdating">


  • This thread is locked for new responses. Please post your comments and questions as a separate thread.
    If required, refer to the URL of this page in your new post.