Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Eliminar Una Fila De Un GridView
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Eliminar Una Fila De Un GridView 
 
Buenas!.

Sigo con el ejemplo de la base de datos de ejemplo que trae el manual de Gambas.
Ahora me ha tocado sustituir el TableView ColumView por un GridView.

En la parte de eliminar un registro, estoy usando el mismo evento. KeyRelease.
Compruebo que la tecla pulsada es suprimir....etc,etc.

Parece que Current no es tan parecido en TableView como en GridView.

Esto es con un TableView ColumView:
Public Sub tabla_KeyRelease()
  
  If Key.Code = Key.Delete Then
    If Tabla.Current = Null Then Return
    If Tabla.Current.Selected = False Then Return
    
    hConn = ModGestBase.ConectarConBase()
    
    Try hConn.Exec("delete from datos where titulo=&1", Tabla.Current.Key)
    
    If Error Then
      Message.Error("Imposible borrar el registro")
    Else
      Tabla.Current.Delete()
    Endif
  
    ModGestBase.CerrarConexion()
    
  Endif
End
 


Para borrar un registro o fila del GridView lo hice de esta forma:
Y esto es con un GridView.

Public Sub grdTabla_KeyRelease()
  
  If Key.Code = Key.Delete Then
    If grdTabla.Current = Null Then Return
    If grdTabla.Select(grdTabla.Row) = Null Then Return

    hConn = ModGestBase.ConectarConBase()
    
    Try hConn.Exec("delete from datos where titulo=&1", grdTabla[grdTabla.row, 0].Text)
    
    If Error Then
      Message.Error("Imposible borrar el registro")
    Else    '
     grdTabla.Rows.Remove(grdTabla.row)      
    Endif
  
    ModGestBase.CerrarConexion()
    
  Endif
End
 


Tanto propiedades como Selected o la forma en que trabaja con Current del TableView no parece exactamente igual en GridView.

Se parece en que si la celda seleccionada tiene un valor o es nula.
En cuanto en el GridView, selected, lo más parecido que encontré fue Select y usar GridView.Row, que devuelve el actual.

Seguramente tiene una forma mas fácil de hacer. O eliminar alguna.


Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 20 Octobre 2016, 19:16; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
¿De dónde has sacado eso de  Tabla.current.selected y Tabla.current.selected.key?

tabla.current es un objeto de la clase gridview_cell, que no tiene ni propiedad selected ni key...

No entiendo na.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Por otra parte... ¿Por qué abres y cierras la conexión? ¿qué ventajas obtienes con ello?
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Shordi:

Citar:

¿De dónde has sacado eso de Tabla.current.selected y Tabla.current.selected.key?


Es que es un ColumView el que usa el ejemplo en el libro de gambas.
Imaginando yo que era un TableView!.  
El nombre de Tabla despista lo suyo.

Citar:

Por otra parte... ¿Por qué abres y cierras la conexión? ¿qué ventajas obtienes con ello?


Esto estuvimos comentándolo hace mucho, no recuerdo bien ahora. Jesús estuvo comentándolo
en su día. A lo mejor se hacia por si se perdían datos. No era tan necesario.

Yo creo, que de este ejemplo que es con el que empezamos a conocer la base de datos por primera vez.
Es de "mucha" importancia tenerlo para bajarlo de la comunidad y que este al día. Con las mejoras
y los cambios se han creado y por que se ha eliminado código del anterior.

Eso de cerrar la conexión lo hace mucho el ejemplo. Un montón.

Creo que deberíamos poner los códigos al día del manual de Gambas.
Así solucionaremos un montón de problemas a los que conocen por primera vez gambas y
usen como referencia el manual de Daniel Campos y José Luis Redrejo.

¿ Qué os parece ?. Aunque sea poco a poco.

El de la base de datos, para empezar. Creo que se me ocurren algunas ideas sobre esto, comentaré en el foro adecuado.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
¡Ah! ¡ColumnView!... Ya decía yo que me sonaba a chino...

   
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Hola shell, yo uso tableview siempre y funciona muy bien para todo, por que queres usas gridview?

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Citar:
Esto estuvimos comentándolo hace mucho, no recuerdo bien ahora. Jesús estuvo comentándolo
en su día. A lo mejor se hacia por si se perdían datos. No era tan necesario.

Abrir y cerrar la conexión consume tiempo. Más, mucho más, si hablamos de bases de datos remotas. No vale la pena hacerlo.
Sólo hay un caso en el que es necesario: cuando el servidor remoto te ha cortado la conexión por time-out, o por lo que sea. En tal caso lo solucionas utilizando el evento error y punto en el momento de la actulización. Algo así:

Try hConn.Exec("delete from datos where titulo=&1", Tabla.Current.Key)
If Error Then
     try hconn.close
     try hconn.open
     try hConn.Exec("delete from datos where titulo=&1", Tabla.Current.Key)
     if Error 'ahora sí es un error "serio" then
           message(.... etc. etc.
    endif
Endif


Naturalmente esto es a lo bestia, lo normal es utilizar una función que lo haga por tí en todas las operaciones, etc. etc.... pero la apertura de la bd se hace al inicio y no se toca hasta el final.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Tincho:
Citar:
Hola shell, yo uso tableview siempre y funciona muy bien para todo, por que queres usas gridview?


Un tableView es un gridView mezclado con un textbox. Si no vas a utilizar el textbox, es decir, no vas usar el tableView para entrar datos, es mejor usar GridView, por aquello de que es un control más simple (menos memoria a usar, menos variables a direccionar, etc. etc.) es el Principio de Economía.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
Uso GridView por que solo pretendo mostrar los datos. Se que TableView puedes editar las celdas.
No se me ocurre ahora eso para la muestra de los registros, como comienzo o retomar el tema es
complicarlo un poco.  

Esto es del curso de gambas de Julio:

GridView y TableView

Por ahora quiero ir modificando el ejemplo de base de datos del manual de Gambas.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Eliminar Una Fila De Un GridView 
 
shordi escribió: [Ver mensaje]
Tincho:
Citar:
Hola shell, yo uso tableview siempre y funciona muy bien para todo, por que queres usas gridview?


Un tableView es un gridView mezclado con un textbox. Si no vas a utilizar el textbox, es decir, no vas usar el tableView para entrar datos, es mejor usar GridView, por aquello de que es un control más simple (menos memoria a usar, menos variables a direccionar, etc. etc.) es el Principio de Economía.

ok, si la verdad es que salvo algún caso puntual no necesito el tableview, voy a probar con el gridview a ver que tal va.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
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