Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
TableEdit: Ejemplo De Uso
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje TableEdit: Ejemplo De Uso 
 
He subido un video-tutorial del uso del control TableEdit que tenéis en la granja de Gambas.
En él os muestro partiendo desde cero cómo:

-Añadirlo a vuestros proyectos
-Usarlo con su comportamiento por defecto
-Ampliar los tipos de controles que utiliza para campos en concreto
-Establecer depuraciones en los datos introducidos
-Cancelar la grabación de la celda por defecto.

Dura media hora más o menos, pero si descontáis los tartamudeos, vacilaciones, pausas, errores, estornudos, accidentes, repeticiones y equivocaciones, se os quedará en minuto y medio más o menos.

     


Link

 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
+1 Shordi.

Este tipo de videos en general son muy útiles para comprender como se gestionan las bases de datos y en particular este vendra muy bien a los usuarios noveles que quieran usar bases de datos en sus programas.
He aprendido que el botón de compilar sirve para que aparezca el icono de la clase.

Me parece útil dejar en el hilo es que es siempre conveniente usar como nombres de campos todo en minúsculas que sean caracteres ASCII y sin espacios ni puntos. para mantener una compatibilidad entre distintos motores de bases de datos y para no confundirse al escribir el código, ya que es una fuente de errores, como te paso a ti varias veces en el video   .
Si luego se quiere tener el nombre del campo en el grid con la primera letra en mayúscula, se puede hacer mediante
'...
  For n = 0 To tbE1.Result.fields.Count - 1
    strTitle = String.UCaseFirst(tbE1.Result.Fields[n].name)
    tbE1.Columns[n].title = strTitle
  Next
'...
 


Luego para no repetir, en este caso, las comunidades se puede hacer un IF en el bucle.
  Dim strText as String
 '....
  While r.Available
    strText=r!comunidad
    if ar.Find(strText) > -1 then ' Para evitar repeticiones en caso que la tabla no las tenga.
    ar.Add(strText)
    Endif
    r.MoveNext
  Wend
'...
 


Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
En mis bases de datos simpre uso minúsculas. El tema era que quería que el control quedase con los nombres bonitos sin tener que hacer tejemanejes de estos, que confunden aún más al novato y alargan el vídeo. Por tanto puse los nombres con mayúscula en la tabla viajes y la falta de costumbre y demás ocasionó los errores que se ven.

Eso y no manta y novato que soy haciendo vídeos, claro...      
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
Shordi:

Muy buen videotutorial. +1

Tincho:

Citar:
Me parece útil dejar en el hilo es que es siempre conveniente usar como nombres de campos todo en minúsculas que sean caracteres ASCII y sin espacios ni puntos. para mantener una compatibilidad entre distintos motores de bases de datos y para no confundirse al escribir el código, ya que es una fuente de errores, como te paso a ti varias veces en el video   .

Buen apunte.

tbE1.Columns[n].title = strTitle

Para el tema de las traducciones, hay que tener en cuenta, que no es buena idea usar el nombre del campo como nombre de la columna, porque no se va  a traducir al cambiar el idioma.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Miercoles, 17 May 2017, 20:29; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
jsbsan escribió:  
...Para el tema de las traducciones, hay que tener en cuenta, que no es buena idea usar el nombre del campo como nombre de la columna, porque no se va  a traducir al cambiar el idioma.

Si, es verdad, yo vengo usando el siguiente "método" para los programas que usan bases.
Partiendo de que las tablas y por lo tanto sus campos serán invariables para un programa dado, lo que hago es colocar una función en el módulo de inicio del programa donde agrego a una matriz de texto los nombres de los campos de la tabla, entonces el campo 0=stxTitles[0] ... n=stxTitles[n].
Este titulo del campo esta agregado de esta manera:
Nota: La matriz es de tres dimensiones de la forma ["tabla-o-vista", "nombre-del-campo", ("Titulo-traducible")]. De esta manera las consultas SQL las tablas y las vistas son siempre las mismas, solo varia el texto que se "ve" en los Gridwiews u otros sitios, por ejemplo los formularios de edición de datos.

Private Function LoadTitles() '' La carga de títulos de esta manera permite luego traducir la aplicación mas fácilmente. Si se usa un método con archivo de texto estos textos no pueden traducirse.

  stxTitles.Add(["contacts", "contactindx", ("Índice")])
  stxTitles.Add(["contacts", "contactname", ("Nombre")])
  '...
  stxTitles.Add(["countries", "countryindx", ("Índice")])
  stxTitles.Add(["countries", "countryname", ("País")])
  '...
  stxTitles.Add(["groups", "groupindx", ("Índice")])
  stxTitles.Add(["groups", "groupname", ("Grupo")])
  '...
  stxTitles.Add(["provinces", "provinceindx", ("Índice")])
  stxTitles.Add(["provinces", "provincename", ("Provincia")])
  '...
  stxTitles.Add(["roles", "roleindx", ("Índice")])
  stxTitles.Add(["roles", "rolename", ("Rol")])
  '...
  stxTitles.Add(["sections", "sectionindx", ("Índice")])
  stxTitles.Add(["sections", "sectionname", ("División")])
  '...
  stxTitles.Add(["view_contacts", "contactindx", ("Índice")])
  stxTitles.Add(["view_contacts", "contactname", ("Nombre")])

End
 


Luego el el programa cuando se quiera poner el nombre del campo tal o cual, solo basta con extraerlo de la matriz stxTitles.

En github deje un ejemplo de un programa agenda de contactos en donde aplico dicho método:
https://github.com/belmotek/tocontac

Saludos.
 



 
última edición por tincho el Miercoles, 17 May 2017, 20:50; editado 1 vez 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
jsbsan escribió:  
Shordi:

Muy buen videotutorial. +1

Tincho:

Citar:
Me parece útil dejar en el hilo es que es siempre conveniente usar como nombres de campos todo en minúsculas que sean caracteres ASCII y sin espacios ni puntos. para mantener una compatibilidad entre distintos motores de bases de datos y para no confundirse al escribir el código, ya que es una fuente de errores, como te paso a ti varias veces en el video   .

Buen apunte.

tbE1.Columns[n].title = strTitle

Para el tema de las traducciones, hay que tener en cuenta, que no es buena idea usar el nombre del campo como nombre de la columna, porque no se va  a traducir al cambiar el idioma.

¿Es que se traducen los nombres de campos o de controles?
No creo. Eso te hunde una base de datos en un instante.
Que se traduzcan literales es una cosa, pero los nombres son nombres... Creo (Nunca he visto el resultado de una traducción)
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
shordi escribió:  
¿Es que se traducen los nombres de campos o de controles?

El planteo es traducir los "Títulos" asociados a los campos no sus nombres. Por títulos de los campos se entiende que es el texto que se ve en las columnas de los gridviews o en las labels de los formularios de edición. Es decir de los controles.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
Shordi:

Citar:
¿Es que se traducen los nombres de campos o de controles?

A lo que me refiero es lo que explica Tincho:
Citar:
Por títulos de los campos se entiende que es el texto que se ve en las columnas de los gridviews o en las labels de los formularios de edición.


Las consultas a la base de datos, ni los nombres de los campos de la base de datos, no entran en la conversión en las traducciones.

Tincho:
Citar:
La matriz es de tres dimensiones de la forma ["tabla-o-vista", "nombre-del-campo", ("Titulo-traducible")]

Interesante método... me lo tengo que ver con tranquilidad.
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Jueves, 18 May 2017, 11:28; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
Citar:
El planteo es traducir los "Títulos" asociados a los campos no sus nombres. Por títulos de los campos se entiende que es el texto que se ve en las columnas de los gridviews o en las labels de los formularios de edición. Es decir de los controles.


En los controles dbGrid, dbgridfilter, etc. añadí una propiedad Titles as String[] que solucionaba el tema. Más simple que una tridimensional, creo.
En este control no lo he añadido.

Saludos

   
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: TableEdit: Ejemplo De Uso 
 
jsbsan escribió:  
Tincho:
Citar:
La matriz es de tres dimensiones de la forma ["tabla-o-vista", "nombre-del-campo", ("Titulo-traducible")

Interesante método... me lo tengo que ver con tranquilidad.

Es bastante práctico la verdad, ademas permite expandir las dimensiones de la matriz si es necesario agregar mas parámetros, como por ejemplo el tooltip del campo.
Si te interesa verlo en funcionamiento échale un vistazo al programa Tocontac.

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 2
Ir a la página 1, 2  Siguiente

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