DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   VB.NET (http://www.daniweb.com/forums/forum58.html)
-   -   Deleting a Row From A DataGrid (http://www.daniweb.com/forums/thread31918.html)

mcupryk Sep 7th, 2005 9:36 pm
Deleting a Row From A DataGrid
 
I have the following two functions. My goal is to highlight a row in a
datagrid and delete a row. Problem arises when I click on the delete button.
Below are two sub routines for DoDelete. Which route should I go with?
I have created stored procedure for deleting the row as well.
Any help would be greatful.

 Private Sub highLightRow(ByVal sender As Object, ByVal e As MouseEventArgs)

        Dim pt = New Point(e.X, e.Y)
        Dim grd As DataGrid = CType(sender, DataGrid)
        Dim hit As DataGrid.HitTestInfo = grd.HitTest(pt)


        If hit.Type = grd.HitTestType.Cell Then
            grd.CurrentCell = New DataGridCell(hit.Row, hit.Column)
            RowNum = hit.Row
            grd.Select(RowNum)

            PolicyNumber = Convert.ToString(grd.Item(RowNum, 1))
            TransCodeOrig = Convert.ToString(grd.Item(RowNum, 2))
            TransEffDate = Convert.ToString(grd.Item(RowNum, 3))
            ModifiedUID = Convert.ToString(grd.Item(RowNum, 7))
        End If
    End Sub

Public Sub DoDelete()
        Dim bm As BindingManagerBase = Me.DataGrid1.BindingContext(Me.DataGrid1.DataSource, Me.DataGrid1.DataMember)
        Dim dr As DataRow = CType(bm.Current, DataRowView).Row
        Try
            PolicyNumber = dr(1)
            TransCodeOrig = dr(2)
            TransEffDate = dr(3)
            ModifiedUID = dr(7)
            dr.Delete()
            DsTransOverride1.dbo_stp_SelTransOverrides.Clear()
            SqlDataAdapter1.Fill(DsTransOverride1.dbo_stp_SelTransOverrides)
            ' SqlDataAdapter1.Update(Me.DsTransOverride1, "dbo_stp_SelTransOverrides")
            DsTransOverride1.dbo_stp_SelTransOverrides.AcceptChanges()
            Me.lbNumRec.Text = Me.DsTransOverride1.Tables(0).Rows.Count.ToString()
        Catch exError As Exception
            MessageBox.Show(exError.Message)
        End Try
    End Sub

Public Sub doDelete()
        '  MDI Main Delete record requ3est toolbar button pressed
        'if no records are displayed on the grid exist then exit

        Dim ConnectionString As String = System.Configuration.ConfigurationSettings.AppSettings("FinSolMainDBConn")
        Dim connfinsol As New System.Data.SqlClient.SqlConnection(ConnectionString)
        Dim myCommand As New SqlCommand("stp_DelTransOverride ", connfinsol)
        myCommand.CommandType = CommandType.StoredProcedure

        'Add Parameters
        ' 1 Policy Number

        myCommand.Parameters.Add("@Policy_Nbr", SqlDbType.VarChar, 7).Value = PolicyNumber

        ' 2 Original Tranaction Override
        myCommand.Parameters.Add("@Trans_CodeOrig", SqlDbType.VarChar, 6).Value = TransCodeOrig

        ' 3 Transaction Effective Date
        myCommand.Parameters.Add("@Trans_Eff_Date", SqlDbType.DateTime, 8).Value = TransEffDate

        ' 8 Modified UID
        myCommand.Parameters.Add("@ModifiedUID", SqlDbType.NVarChar, 48).Value = ModifiedUID

        'Open Connection
        Try
            'Open Connection
            connfinsol.Open()
            myCommand.ExecuteNonQuery()
            MsgBox("Data Deleted Successfully !", MsgBoxStyle.Information, Me.Text)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        Finally
            If myCommand.Connection.State = ConnectionState.Open Then
                myCommand.Connection.Close()
            End If
        End Try

    End Sub

I am not sure where to go, which DoDelete do go with.


All times are GMT -4. The time now is 4:39 pm.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC