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.