Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Hacer Seleccion Multiple En Tableview Y Eliminarlos?[Resuelto]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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?
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
última edición por v3ctor el Martes, 16 Agosto 2016, 15:21; editado 1 vez 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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  
 



 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.

 
 




===================
No podemos regresar
 
última edición por shordi el Martes, 16 Agosto 2016, 07:41; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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

 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron