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

Eliminar registros seleccionados en datagrid

Estas en el tema de Eliminar registros seleccionados en datagrid en el foro de .NET en Foros del Web. Buenos dias, Miren, utilizo este codigo para eliminar varios registros seleccionados en un datagrid: Código: Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) ...
  #1 (permalink)  
Antiguo 30/11/2005, 11:17
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Eliminar registros seleccionados en datagrid

Buenos dias,

Miren, utilizo este codigo para eliminar varios registros seleccionados en un datagrid:
Código:
Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click

    Me.BindingContext(miDataSet, "Urgencias").EndCurrentEdit()
    If (MessageBox.Show("Está seguro de eliminar los registros?", "Eliminar...", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes) Then
      Dim delStr As String = ""
      For i As Integer = 0 To dgUrgencias.VisibleRowCount - 1
        If dgUrgencias.IsSelected(i) Then
          delStr &= dgUrgencias(i, 0) & ","
        End If
      Next
      If delStr.Length > 0 Then
        Dim delRows() As DataRow = miDataSet.Tables("Urgencias").Select("IdUrgencia IN (" & delStr & ")")
        For Each delRow As DataRow In delRows
          delRow.Delete()
        Next
      End If
    End If

  End Sub
Me gustaría mejorarlo. Se acepta cualquier idea.
A parte, es que tiene un pequeño problema. Como capta el campo clave (Columna 0 del grid) para definir qué columnas se van a eliminar y luego le hace la select para recuperar las ratarows, si alguna de las columnas seleccionada es nueva, como todavia no tiene asignado su campo clave, no la puedo recuperar.
En un prinipio habia decidiso hacerlo así porqué me fiaba más, ya que al hacrlo a través de BindingContext o a través del datagrid, muchas veces, segun estén los datos ordenados, no coiniden las posiions del uno con las del otro.
Bueno, igual todo es un lio mental que tengo y la solucion es mucho más facil.

Gracias a todos
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 30/11/2005, 11:37
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
a mi me facilita mucho el trabajo utilizar adaptadores de datos cuando utilizo datagrids...
  #3 (permalink)  
Antiguo 30/11/2005, 12:14
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Hola Andres,

Si, la verdad es que te facilita la cosa. De hecho estoy utilizando un dataadapter para actualizar los cambios del dataset.

Pero independientemente de como actualices el dataset cuando quieras guardar los cambios, me gustaría mejorar la rutina para eliminar los registros del dataset, ya que con la que muestro arriba, no puedo eliminar los registros que estén recien dados de alta y estén seleccionados para eliminar, porqué no me recupera el ID (claro, no existe hasta que no vuelva a hacer el Fill y recupere los IDs de los nuevos registros)

Muchas gracias.
Saludos.
__________________
..:: moNTeZIon ::..
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 10:48.