Foros del Web » Programación para mayores de 30 ;) » .NET »

Como borrar un registro de un datagridview con click derecho.

Estas en el tema de Como borrar un registro de un datagridview con click derecho. en el foro de .NET en Foros del Web. Buen dia, tengo un datagridview en Visual Basic 2005, ya pude mostrar un ContextMenuStrip al dar click derecho sobre este, muestra 2 opciones: Borrar y ...
  #1 (permalink)  
Antiguo 23/01/2013, 10:06
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Como borrar un registro de un datagridview con click derecho.

Buen dia, tengo un datagridview en Visual Basic 2005, ya pude mostrar un ContextMenuStrip al dar click derecho sobre este, muestra 2 opciones: Borrar y Editar, Mi pregunta es:
¿Como Borrar el registro del datagrid al pulsar la opcion del menu al presionar click derecho?

Nota: Si me podrian explicar con manzanas (desde 0) que mejor!
  #2 (permalink)  
Antiguo 23/01/2013, 19:06
Avatar de gasuton  
Fecha de Ingreso: octubre-2010
Ubicación: Abandonware
Mensajes: 132
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Como borrar un registro de un datagridview con click derecho.

Estimado David estas en un foro de VB6.0 y VB2005 es VB.net, por favor pide que muevan tu post al foro correcto.

saludos.
__________________
Ley numero 1: Si tu sistema falla seguro es una problema con la inteface entre el teclado y la silla.
Ley numero 2: El programador jamas tiene la culpa.
Ley numero 3: no me acuerdo
  #3 (permalink)  
Antiguo 23/01/2013, 19:43
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Como borrar un registro de un datagridview con click derecho.

Listo, movido al lugar correspondiente.

Saludos
__________________
Grupo Telegram Docker en Español
  #4 (permalink)  
Antiguo 24/01/2013, 07:56
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Hola davidalonsso05, podrías por favor mostrarnos como realizas el muestreo de tu contextmenustrip en código? Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 24/01/2013, 08:19
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Cita:
Iniciado por Aquaventus Ver Mensaje
Hola davidalonsso05, podrías por favor mostrarnos como realizas el muestreo de tu contextmenustrip en código? Saludos!.
Lo hice mediante los Menus:
Agregue el ContextMenuStrip mediante el toolbox posteriormente solo le di dos opciones, borrar y editar, aun no le ingreso nada en la opcion de borrar ni editar...

Private Sub BorrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BorrarToolStripMenuItem.Click

End Sub

Has ahorita asi voy hehe
  #6 (permalink)  
Antiguo 24/01/2013, 09:02
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Ok. Lo que podrías hacer es agregar manualmente el contextmenustrip por código en el evento mousedown de tu datagridview y usar el DataGridView.HitTestInfo:
Primero creas una variable indice que será el que contenga el index de la fila seleccionada y el menu a agregar:
Código vb:
Ver original
  1. Dim indice As Integer
  2. Dim menu As ContextMenuStrip
Luego en el método MouseDown de tu grilla
Código vb:
Ver original
  1. If e.Button = System.Windows.Forms.MouseButtons.Right Then
  2.     Dim Mi_Test As DataGridView.HitTestInfo = Me.Mi_datagridview.HitTest(e.X, e.Y)
  3.     If Mi_Test.Type = DataGridViewHitTestType.Cell Then
  4.         If Mi_Test.RowIndex >= 0 Then
  5.             indice = Mi_Test.RowIndex
  6.             Me.Mi_datagridview.CurrentCell = Me.Mi_datagridview.Rows(Mi_Test.RowIndex).Cells(Mi_Test.ColumnIndex)
  7.             Me.Mi_datagridview.Rows(Mi_Test.RowIndex).Selected = True
  8.             menu = New ContextMenuStrip()
  9.             menu.Items.Add("Eliminar",Nothing,EliminarFila)
  10.             Me.Mi_datagridview.ContextMenuStrip = menu
  11.         End If
  12.     End If
  13. End If
Finalmente el evento de eliminación llamas el indice a borrar:
Código vb:
Ver original
  1. Private Sub AbrirForm(sender As Object, e As EventArgs)
  2. Me.Mi_datagridview.Rows.RemoveAt(indice)
  3. End Sub
Espero te haya servido Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #7 (permalink)  
Antiguo 24/01/2013, 10:45
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Aquaventus ya me solucionaste gran parte de mi duda. Es lo que necesitaba alguien que me explicara con manzanas

Ya si me pudieras decir o bien donde buscar que al momento de borrar esa linea de codigo me lo borre de la BD que esta en SQL yo con todo gusto lo busco gracias!!
  #8 (permalink)  
Antiguo 24/01/2013, 10:51
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Analiza un poco lo que os brindé y hallarás la solución... una vez que obtienes el índice de la fila, puedes extraer el valor de la celda que te interesa, en este caso puede ser el ID(PK) de tus registros y con eso eliminar de tu tabla por el ID. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #9 (permalink)  
Antiguo 24/01/2013, 11:09
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Bien ya lo estoy analizando!
De echo cuando borro una fila del datagrid me borra la primera y no la seleccionada...
  #10 (permalink)  
Antiguo 24/01/2013, 11:42
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Utiliza los Breakpoints para que le hagas seguimiento de dónde cae el problema. Ahora coloca el código que tienes para ver que hayas hecho mal. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 24/01/2013, 11:54
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

En

Public Class Form1
Dim indice As Integer
Dim menu As ContextMenuStrip


Private Sub datagridview1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles datagridview1.MouseDown
If e.Button = System.Windows.Forms.MouseButtons.Right Then
Dim Mi_Test As DataGridView.HitTestInfo = Me.datagridview1.HitTest(e.X, e.Y)
If Mi_Test.Type = DataGridViewHitTestType.Cell Then
If Mi_Test.RowIndex >= 0 Then
indice = Mi_Test.RowIndex
Me.datagridview1.CurrentCell = Me.datagridview1.Rows(Mi_Test.RowIndex).Cells(Mi_T est.ColumnIndex)
Me.datagridview1.Rows(Mi_Test.RowIndex).Selected = True
menu = New ContextMenuStrip()
menu.Items.Add("Eliminar", Nothing) <------ BORRE "EliminarFila" ya que me marcaba que no ha sido declarada
Me.datagridview1.ContextMenuStrip = menu
End If
End If
End If
End Sub

y por ultimo....
Private Sub BorrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BorrarToolStripMenuItem.Click
Me.datagridview1.Rows.RemoveAt(indice)

End Sub

Asi lo puse hehe
  #12 (permalink)  
Antiguo 24/01/2013, 11:59
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Ah perdón! Error mío... borra lo que esto que has hecho :
Código vb:
Ver original
  1. Private Sub BorrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BorrarToolStripMenuItem.Click
  2. Me.datagridview1.Rows.RemoveAt(indice)
En el anterior code que te pasé me equivoqué de nombre, estaba bien como estaba :
Código vb:
Ver original
  1. menu.Items.Add("Eliminar",Nothing,EliminarFila)
Eliminar fila era un método al cual por error le coloque AbrirForm, solo era cuestion que lo modifiques como EliminarFila :
Código vb:
Ver original
  1. Private Sub EliminarFila (sender As Object, e As EventArgs)
  2. Me.Mi_datagridview.Rows.RemoveAt(indice)
  3. End Sub
Y eso era . Nos cuentas! Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #13 (permalink)  
Antiguo 24/01/2013, 12:19
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Lo que pasa es que le doy la opcion de borrar con el click derecho del menu contextual de BORRAR
Private Sub BorrarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BorrarToolStripMenuItem.Click
Me.datagridview1.Rows.RemoveAt(indice)

End Sub

y si pongo el Eliminar fila como me mencionas
Private Sub EliminarFila (sender As Object, e As EventArgs)
Me.Mi_datagridview.Rows.RemoveAt(indice)
End Sub

me aparecen los siguientes errores:
Error 1 Argument not specified for parameter 'e' of 'Private Sub EliminarFila(sender As Object, e As System.EventArgs)'.
Error 2 Argument not specified for parameter 'sender' of 'Private Sub EliminarFila(sender As Object, e As System.EventArgs)'.

  #14 (permalink)  
Antiguo 24/01/2013, 13:44
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Ok ya vi el error, es así :
Código vb:
Ver original
  1. menu.Items.Add("Eliminar", Nothing, New EventHandler(AddressOf EliminarFila))
y el método :
Código vb:
Ver original
  1. Private Sub EliminarFila()
  2.         Me.Mi_datagridview.Rows.RemoveAt(indice)
  3.     End Sub
Espero ahora sí no haya problemas .Saludos!.

PDT: Es la costumbre de trabajar en C#, que se me pasan algunas cosillas del VB.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #15 (permalink)  
Antiguo 24/01/2013, 21:07
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Gracias por la respuesta, ahorita no estoy en el trabajo pero mañana lo implemento, ojala y jale porque es para mañana hehe gracias!!!!
  #16 (permalink)  
Antiguo 25/01/2013, 08:26
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Ya me borro la fila!! En serio gracias!!!

Ya el que me borre el registro del datagridview y de la tabla de sql y al momento de agregar un nuevo registro mediante botones y ya no aparezca en el datagridview me encargare!!

Si tienes un blog o tutoriales en Youtube me interesaria que me los pasaras Aquaventus!

"Inteligente es aquel que tiene conocimiento, Sabio es aquel que lo comparte"
  #17 (permalink)  
Antiguo 25/01/2013, 08:58
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Como borrar un registro de un datagridview con click derecho.

Excelente davidalonsso05, cualquier problema que tengas no dudes colocarlo en el Foro. Lamentablemente no tengo videotutoriales por el factor tiempo. Pero estamos aqui en el Foro para ayudarlos y compartir conocimientos. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #18 (permalink)  
Antiguo 28/01/2013, 09:30
 
Fecha de Ingreso: enero-2013
Mensajes: 93
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Como borrar un registro de un datagridview con click derecho.

Cita:
Iniciado por Aquaventus Ver Mensaje
Excelente davidalonsso05, cualquier problema que tengas no dudes colocarlo en el Foro. Lamentablemente no tengo videotutoriales por el factor tiempo. Pero estamos aqui en el Foro para ayudarlos y compartir conocimientos. Saludos!.
Buen dia AquaVentus, disculpa despues de buscar y buscar como eliminar el la fila seleccionada (registros) del datagridview y tambien de la BD de SQL no encuentro la solucion, el codigo que me pasaste para borrar al fila seleccionada del DGV funciona a la perfeccion pero me podrias orientar o ayudar para que tambien me la borre de la BD...

Gracias de ante mano!

Etiquetas: basic, datagridview, registro, visual, visual-basic-clásico
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.