Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?[Resuelto]


Objetivo: Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?[Resuelto]
pues como dice el titulo...

no tengo problemas al borrar de la tabla de la base de datos pero si del tableview....

este codigo me da error.... creo que el problema esta en el indice del table view que no es lo mismo que en id de cada registro


Public Sub btnEliminarEntrada_Click()
Dim id As Integer

For Each id In SeleccionMultiple
Print id
Try Almacen.CX_Inventario.exec("delete from entradas where identrada=&1", id)
If Error Then
Message.Error(("Imposible borrar el registro"))
Else
tvEntradas.Rows.Remove(id) ' aqui me da error
Endif

Next

SeleccionMultiple.Clear
tvEntradas.UnSelectAll
btnEliminarEntrada.Enabled = False

End


lo que estoy intentando hacer es que en el evento clic se guarde en un array integer los id de las filas seleccionadas y después recorro el array y va borrando,

como hacen ustedes la eliminacion multiple en un table view?

última edición por v3ctor el Martes, 16 Agosto 2016, 15:21; editado 1 vez
Objetivo: Re: Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?
Citar:
este codigo me da error.... creo que el problema esta en el indice del table view que no es lo mismo que en id de cada registro


Código: [Ocultar] [Seleccionar]
Public Sub btnEliminarEntrada_Click()
Dim id As Integer

For Each id In SeleccionMultiple
Print id
Try Almacen.CX_Inventario.exec("delete from entradas where identrada=&1", id)
If Error Then
Message.Error(("Imposible borrar el registro"))
Else
tvEntradas.Rows.Remove(id) ' aqui me da error
Endif

Next

SeleccionMultiple.Clear
tvEntradas.UnSelectAll
btnEliminarEntrada.Enabled = False

End


V3ctor pero que error te da? que te dice fuera de los limites? si es asi es por el array! y que del cual lo resolvi pero con un listbox, ahora lo de eliminar varias cosas a la ves si me pone a pensar quiza te diera una solucion pero eliminando un solo registro!, me imagino que tvEntradas debe ser la variable llena con el registro de tu Tableview!.

Por otra parte me da la impresion que no estas comparando lo que tienes en tu vector id con lo que tienes en tu tableview! deberia haber algo como esto:

If tvEntradas = id Then tvEntradas.Rows.Remove(id)


Esto es solo un ejemplo que tengo de un vector en un listbox

Objetivo: Re: Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?
V3ctor, te complicas la vida demasiado...

Elimina el/los registro/s de la tabla y refresca el tableview (es decir, repite el procedimiento con el cual lo rellenaste la primera vez).
Todo solucionado.


última edición por shordi el Martes, 16 Agosto 2016, 07:41; editado 2 veces
Perfil MP  
Objetivo: Re: Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?[Resuelto]
shordi escribió: [Ver mensaje]
V3ctor, te complicas la vida demasiado...

Elimina el/los registro/s de la tabla y refresca el tableview (es decir, repite el procedimiento con el cual lo rellenaste la primera vez).
Todo solucionado.



efectivamente es la solución lógica, es que cuando estas horas y horas programando pierdes la perspectiva

sera por eso que muchas veces cuando te trancas en algo, se soluciona generalmente y mágicamente simplemente con una buena pausa y descanso.

gracias solucionado

Objetivo: Re: Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?[Resuelto]

Private SeleccionMultiple As New Integer[]

Public Sub btnEliminarEntrada_Click()
Dim id As Integer
Dim fila As Integer

For Each id In SeleccionMultiple

Try Almacen.CX_Inventario.exec("delete from entradas where identrada=&1", id)
If Error Then
Message.Error(("Imposible borrar el registro"))
Endif

Next

SeleccionMultiple.Clear
btnEliminarEntrada.Enabled = False

CargarTablaEntradas()
tvEntradas.UnSelectAll

End


Public Sub tvEntradas_Click()
txtaComentario.Clear()
txtaComentario.Text = Consultas.ObtenerComentarioDeEntrada(CInteger(tvEntradas[tvEntradas.Row, 0].Text))
TablaSelecionada = "entradas"
IdSelecionado = CInteger(tvEntradas[tvEntradas.Row, 0].Text)
RestaurarBotonModificarComentario(True)

SeleccionMultiple.Add(CInteger(tvEntradas[tvEntradas.Row, 0].Text)) 'aqui los item de cada registro

btnEliminarEntrada.Enabled = True

End


Private Sub CargarTablaEntradas()
Dim Resultado As Result
Dim fila, c As Integer

Resultado = Consultas.ListarEntradas()

Do While Resultado.Available

tvEntradas.Rows.Count = Resultado.Count

tvEntradas[fila, c].Text = Resultado!identrada

Inc c
tvEntradas[fila, c].Text = Resultado!fecha

Inc c
tvEntradas[fila, c].Text = Resultado!cosa

Inc c
tvEntradas[fila, c].Text = Resultado!c_antes

Inc c
tvEntradas[fila, c].Text = Resultado!c_despues

Inc c
tvEntradas[fila, c].Text = Resultado!diferencia

If fila Mod 2 = 0 Then
tvEntradas[fila, c].Background = Color.Cyan
Endif

Resultado.MoveNext()
Inc fila
c = 0
Loop

End


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.189s (PHP: -49% SQL: 149%)
Consultas SQL: 31 - Debug off - GZIP Activado