Delete Row in GridView

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • lisles
    New Member
    • Jan 2010
    • 40

    Delete Row in GridView

    Originally posted by Frinavale
    Why wouldn't you just take the value out of the TextBox?
    Why even use a HiddenField for this?

    I think it would be best if you posted the code that you have attempted so far so that I can see what you're trying to do to help you further (remember to post code in
    Code:
     ...
    tags.)

    -Frinny
    ok,i managed to do this.now im having a problem deleting a record.can you tel me what to do.here's my code
    Code:
    <asp:GridView ID="GridView1" runat="server"  onrowdeleting="GridView1_RowDeleting" >
      <Columns>
         <asp:CommandField ShowDeleteButton="True" HeaderText="Delete">
          <HeaderStyle HorizontalAlign="Left" />
          </asp:CommandField>
      </Columns>                            
    </asp:GridView>

    Code:
    protected void btnSaveRef_Click(object sender, EventArgs e)
        {
            //if (txtUserName.Text.Trim() == "")
            //{
            //    this.lblTips.Text = "You must fill a username.";
            //    return;
            //}
            //else
            {
                AddDataToTable(this.txtRefFName.Text.Trim() + " " + this.txtRefMName.Text.Trim() + " " + this.txtRefLName.Text.Trim(), this.txtRefAddress.Text.Trim(), (DataTable)Session["myDatatable"]);
    
                this.GridView1.DataSource = ((DataTable)Session["myDatatable"]).DefaultView;
                this.GridView1.DataBind();
    
                this.txtRefFName.Text = "";
                this.txtRefAddress.Text = "";
                this.txtRefMName.Text = "";
                this.txtRefLName.Text = "";
                //this.txtUserName.Text = "";
                //this.lblTips.Text = "";
            }
        }
    
        private DataTable CreateDataTable()
        {
            DataTable myDataTable = new DataTable();
    
            DataColumn myDataColumn;
    
            //myDataColumn = new DataColumn();
            //myDataColumn.DataType = Type.GetType("System.String");
            //myDataColumn.ColumnName = "id";
            //myDataTable.Columns.Add(myDataColumn);
    
            myDataColumn = new DataColumn();
            myDataColumn.DataType = Type.GetType("System.String");
            myDataColumn.ColumnName = "name";
            myDataTable.Columns.Add(myDataColumn);
    
            myDataColumn = new DataColumn();
            myDataColumn.DataType = Type.GetType("System.String");
            myDataColumn.ColumnName = "address";
            myDataTable.Columns.Add(myDataColumn);
    
           
    
            return myDataTable;
        }
    
        private void AddDataToTable(string name, string address, DataTable myTable)
        {
            DataRow row;
    
            row = myTable.NewRow();
    
            //row["id"] = Guid.NewGuid().ToString();
            row["name"] = name;
            row["address"] = address;
            
    
            myTable.Rows.Add(row);
        }
     if (!Page.IsPostBack)
            {
      DataTable myDt = new DataTable();
                myDt = CreateDataTable();
                Session["myDatatable"] = myDt;
    
                this.GridView1.DataSource = ((DataTable)Session["myDatatable"]).DefaultView;
                this.GridView1.DataBind();
    
    
            }
    Last edited by Frinavale; Jul 1 '10, 01:07 PM. Reason: Fixed code tags
  • Frinavale
    Recognized Expert Expert
    • Oct 2006
    • 9749

    #2
    I don't see any C# code that handles the delete?
    You posted code for handling the "btnSaveRef ", and "CreateDataTabl e", and "AddDataToTable "...

    -Frinny

    Please try to post 1 question per thread :)
    New questions should go in their own thread.

    Comment

    • lisles
      New Member
      • Jan 2010
      • 40

      #3
      Originally posted by lisles
      ok,i managed to do this.now im having a problem deleting a record.can you tel me what to do.here's my code
      Code:
      <asp:GridView ID="GridView1" runat="server"  onrowdeleting="GridView1_RowDeleting" >
        <Columns>
           <asp:CommandField ShowDeleteButton="True" HeaderText="Delete">
            <HeaderStyle HorizontalAlign="Left" />
            </asp:CommandField>
        </Columns>                            
      </asp:GridView>

      Code:
      protected void btnSaveRef_Click(object sender, EventArgs e)
          {
              //if (txtUserName.Text.Trim() == "")
              //{
              //    this.lblTips.Text = "You must fill a username.";
              //    return;
              //}
              //else
              {
                  AddDataToTable(this.txtRefFName.Text.Trim() + " " + this.txtRefMName.Text.Trim() + " " + this.txtRefLName.Text.Trim(), this.txtRefAddress.Text.Trim(), (DataTable)Session["myDatatable"]);
      
                  this.GridView1.DataSource = ((DataTable)Session["myDatatable"]).DefaultView;
                  this.GridView1.DataBind();
      
                  this.txtRefFName.Text = "";
                  this.txtRefAddress.Text = "";
                  this.txtRefMName.Text = "";
                  this.txtRefLName.Text = "";
                  //this.txtUserName.Text = "";
                  //this.lblTips.Text = "";
              }
          }
      
          private DataTable CreateDataTable()
          {
              DataTable myDataTable = new DataTable();
      
              DataColumn myDataColumn;
      
              //myDataColumn = new DataColumn();
              //myDataColumn.DataType = Type.GetType("System.String");
              //myDataColumn.ColumnName = "id";
              //myDataTable.Columns.Add(myDataColumn);
      
              myDataColumn = new DataColumn();
              myDataColumn.DataType = Type.GetType("System.String");
              myDataColumn.ColumnName = "name";
              myDataTable.Columns.Add(myDataColumn);
      
              myDataColumn = new DataColumn();
              myDataColumn.DataType = Type.GetType("System.String");
              myDataColumn.ColumnName = "address";
              myDataTable.Columns.Add(myDataColumn);
      
             
      
              return myDataTable;
          }
      
          private void AddDataToTable(string name, string address, DataTable myTable)
          {
              DataRow row;
      
              row = myTable.NewRow();
      
              //row["id"] = Guid.NewGuid().ToString();
              row["name"] = name;
              row["address"] = address;
              
      
              myTable.Rows.Add(row);
          }
       if (!Page.IsPostBack)
              {
        DataTable myDt = new DataTable();
                  myDt = CreateDataTable();
                  Session["myDatatable"] = myDt;
      
                  this.GridView1.DataSource = ((DataTable)Session["myDatatable"]).DefaultView;
                  this.GridView1.DataBind();
      
      
              }
      i'l keep that in mind...
      i dont know how to do the delete.can you suggest some way?

      Comment

      • Frinavale
        Recognized Expert Expert
        • Oct 2006
        • 9749

        #4
        Well the first step would be to implement a method that handles the GridView.RowDel eting event. In that method you need to connect to the database and delete the record that matches the row that is being deleted in the GridView. After that you need to refresh the datasource for the GridView to show the most current data (the row deleted).

        -Frinny

        Comment

        Working...