Visual Basic.NET - borrar fila de un DataGrid

 
Vista:

borrar fila de un DataGrid

Publicado por Antonio (17 intervenciones) el 04/09/2006 12:25:22
Hola. Me gustaría saber como hacer para que cuando pincho en una de las filas de un DataGrid se me borre automáticamente. ¿Alguien sabe? Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:borrar fila de un DataGrid

Publicado por Ramiro (21 intervenciones) el 04/09/2006 14:03:27
Utiliza la propiedad RowIndex del DataGrid para obtener la posicion que has seleccionado con el raton y despues haces que se borre la fila que se encuentra en la posicion RowIndex. Puedes hacerlos en pasos separados o todo a la vez, como mas claro te sea ;) Todo ello se hace en el evento Click del DataGrid.

Suerte, Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:borrar fila de un DataGrid

Publicado por Antonio (17 intervenciones) el 04/09/2006 14:09:55
Vale, con la propiedad CurrentRowIndex ya elijo la fila que quiero borrar. Ahora solo me falta saber que método se usa para borrar porque no veo ningun método Clear , Remove o Delete en la lista y en google no encuentro información específica. Si sabes cual es el método correcto me sería de gran ayuda. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:borrar fila de un DataGrid

Publicado por Ramiro (21 intervenciones) el 05/09/2006 09:38:40
PRUEBA CON ESTO:

indicetabla=datagrid.CurrentRowIndex

Dim midataset As DataSet = New DataSet

SqlDataAdapter1.SelectCommand.CommandText = "Sentencia SELECT"
SqlDataAdapter1.Fill(midataset, "tabla de la bbdd")

Dim datos As DataTable = midataset.Tables("tabla de la bbdd")

Dim fila As DataRow = datos.Rows(indicetabla)

fila.Delete()
SqlDataAdapter1.Update(datos)

Con esto deberia bastar para hacer lo que quieres!!! SUERTE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:borrar fila de un DataGrid

Publicado por Harold (8 intervenciones) el 04/09/2006 18:58:24
dim indicefila as int32

esto va dentro del click de tu datagrid: indicefila=e.rowindex

'''''''''''''''''Para esto la propiedad AllowUsersToDeleteRows de tu datagridview debe ser FALSE

Private Sub dgvCargando_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles dgvCargando.KeyDown
If e.KeyCode = Keys.Delete Then
If dgvCargando.Rows(indicefila).Selected = True Then
Try
dgvCargando.Rows.RemoveAt(indicefila)
dgvCargando.Refresh()
Catch ex As Exception
ex.Data.Clear()
End Try
End If
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:borrar fila de un DataGrid

Publicado por Antonio (17 intervenciones) el 05/09/2006 11:10:57
Hola. He estado probando los códigos que me habeis dicho y no he conseguido solucionarlo. Yo tenía escrito este código pero tampoco funciona

Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click

Dim i As Integer
i = DataGrid1.CurrentRowIndex()
Dim sqlcadena As String
Dim idioma As String
idioma = DataGrid1.Item(i, 0)
Dim nivel As String
nivel = DataGrid1.Item(i, 1)


SqlConnection1.Open()
sqlcadena = "DELETE * FROM SIEUEDOfWebId_OfertaWebIdiomas WHERE SIEUEDOf_Oferta='" & txtNumOferta.Text & "' AND SIEUEDEm_Codigo='" & txtCodEmpresa.Text & "' AND SIEAn_Version='" & txtNumVersion.Text & "' AND SIEUEDOf_Idioma='" & idioma & "' AND SIEUEDOf_Nivel='" & nivel & "'"
Dim myCommand27 As New SqlClient.SqlCommand(sqlcadena, SqlConnection1)
myCommand27.ExecuteNonQuery()
SqlConnection1.Close()

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:borrar fila de un DataGrid

Publicado por Ramiro (21 intervenciones) el 06/09/2006 10:56:33
Para que te sea mas facil, en vez de borrar utilizando una sentencia DELETE utiliza una SELECT que solo t devuelva aquella posicion que quieres eliminar. Luego donde t dije lo de fila=datos.rows(indicefila) pones 0 en el parentesis q qiere decir la primera posicion encontrada( q si la select es correcta debera ser solo una). si es mas de una lo recorres con un for.
Espero q t sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar