Grilla

Como puedo eliminar con código una fila de una grilla
yo estoy tarabajando con archivos planos
explico al borrar un registro de la grilla(msflexgrip)la fila me queda en blanco, y al grabar en el archivo plano me queda ese espacio en blanco(yo al grabar la grilla en el archivo hago una especie de imagen de la grilla), lo que quiero es eliminar la fila de la grilla que esta en blanco y así cuando grabe en el archivo plano no me queden los espacios(fila en blanco de la grilla) entre registros.
Gracias.

1 Respuesta

Respuesta
1
Mírate este código a ver si te sirve:
'Utilizo un botón para eliminar la fila seleccionada
' posic es el total de filas-1 que tiene el flexgrid
' frmOfertas es el nombre del flexgrid
' numero_fila es la fila seleccionada (cuando se hace click en una celda se pone numero_fila = frmOfertas.Row)
' aPosic(100,6) es el array temporal donde meto lo que hay en el flexgrid frmOfertas
Private Sub cmdElimPos_Click()
Dim cuenta, i As Byte
Dim unis, msg As String
If posic < 1 Then 'Si no hay posiciones
MsgBox "No hay artículos a eliminar."
Else
If (numero_fila >= 1 And numero_fila <= posic) Then
msg = MsgBox("¿Está seguro que quiere eliminar la posición " & numero_fila & "?", vbYesNo, "ELIMINAR POSICIÓN")
If msg = vbYes Then
'Desde la fila seleccionada hasta el final meto lo del flexgrid en el array
For i = numero_fila To posic - 1
For cuenta = 0 To 5
aPosic(i, cuenta) = aPosic(i + 1, cuenta)
Next cuenta
Next i
'Borro la posicion actual
For cuenta = 0 To 5
aPosic(posic, cuenta) = ""
Next cuenta
posic = posic - 1
frmOfertas.fxgTabla.Rows = 1 'Sólo deja el título de las cols del Grid
For i = 1 To posic 'Desde la pos 1 hasta el final
frmOfertas.fxgTabla.Rows = frmOfertas.fxgTabla.Rows + 1
frmOfertas.fxgTabla.Col = 0 'Inserta una nueva fila y copia el contenido
frmOfertas.fxgTabla.Row = i 'del array en las filas del Grid
frmOfertas.fxgTabla.Text = i
frmOfertas.fxgTabla.Col = 1
frmOfertas.fxgTabla.Row = i
frmOfertas.fxgTabla.Text = aPosic(i, 1) 'Nombre
frmOfertas.fxgTabla.Col = 2
frmOfertas.fxgTabla.Row = i
frmOfertas.fxgTabla.Text = aPosic(i, 2) 'Descripcion
frmOfertas.fxgTabla.Col = 3
frmOfertas.fxgTabla.Row = i
frmOfertas.fxgTabla.Text = aPosic(i, 3) 'Unidades
frmOfertas.fxgTabla.Col = 4
frmOfertas.fxgTabla.Row = i
frmOfertas.fxgTabla.Text = Poner_Punto(Round(CDbl(Poner_Coma(aPosic(i, 4))), 2)) 'Precio
frmOfertas.fxgTabla.Col = 5
frmOfertas.fxgTabla.Row = i
frmOfertas.fxgTabla.Text = aPosic(i, 5) 'Tipo
Next i
numero_fila = posic
End If
End If
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas