Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 904
  • Last Modified:

Delete row from gridview

Hi all, I have a gridview that deletes just as it should, but then in the code-behind I have it deleting from other tables, based on what you deleted from the gridview.  This works FINE, BUT you MUST select the row from the gridview and THEN delete because of this line:
Dim BP_ID As String = GridView1.SelectedValue
I need that value, is there a way I can tell it something like DeletingValue or something, instead of the SelectedValue???
VS2005 VB.Net
Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
        Dim BP_ID As String = GridView1.SelectedValue
        Dim BA_ID As String
        Dim sql7 As String = "Select BA_ID from bomAuxEquip where BP_ID = @BP_ID"
        Using conn As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("HCISDataCARsConnectionString").ConnectionString)
            Dim cmd As New SqlCommand(sql7, conn)
            cmd.Parameters.AddWithValue("@BP_ID", BP_ID)
            Dim reader As SqlClient.SqlDataReader
            cmd.Connection.Open()
            reader = cmd.ExecuteReader
            reader.Read()
            BA_ID = reader("BA_ID")
            cmd.Connection.Close()
        End Using
 
        Dim sql17 As String = "DELETE FROM [bomSecAuxEquip] WHERE [BA_ID] = @BA_ID"
        Using conn As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("HCISDataCARsConnectionString").ConnectionString)
            Dim cmd As New SqlCommand(sql17, conn)
            cmd.Parameters.Add(New SqlParameter("@BA_ID", BA_ID))
            conn.Open()
            cmd.ExecuteNonQuery()
            cmd.Connection.Close()
        End Using
 
    End Sub

Open in new window

0
ratkinso666
Asked:
ratkinso666
  • 4
1 Solution
 
TechTiger007Commented:
Check if the value you are looking for is in e.Values array
Otherwise you can get the index of the deleting row as e.RowIndex, so when you say "gv.Rows[e.RowIndex];" you will get the deleting row from the grid view, you can get the value from the row.

Hope that helps
0
 
ratkinso666Author Commented:
Unfortunately, the only values I can find are for the SelectedValue...  If I Select a row and delete from another row, I am only seeing the the selected row's value.  I'm sure it must know the correct row to delete from somewhere, but I still don't see it???
0
 
ratkinso666Author Commented:
Does anyone else know how I can get this value??  I MUST have it, as the users are deleting without selecting and when they do that, they delete the children from the selected row, rather from the row they wanted to delete from...
0
 
ratkinso666Author Commented:
Here was the eventual solution:

Protected Sub GridView1_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GridView1.RowDeleting
        Dim i As Integer = e.RowIndex
        Dim BP_ID As String = GridView1.Rows(i).Cells(10).Text
0
 
ratkinso666Author Commented:
Thank you very much for your help!!  Definitley got me on the right track.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now