https://foro.gambas-es.org/viewtopic.php?f=3&t=3709
-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 05:40

Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Buenas Noches a la presente hora, muy buen tutorial; ahora para seguir avanzando en el estudio de esta interesante herramienta de desarrollo de software me pregunto sí me pueden ayudar informandome como puedo aplicar formatos a objetos datacontrol en el caso de que el tipo de datos sea flotante y necesite limitar a dos decimales y que tenga separadores de miles; asi mismo me gustaria saber sí se puede controlar el ancho de las columnas en el databrowser y su alineación; muchas gracias!


-----------------------------------
Shell
Lunes, 17 Marzo 2014, 12:49

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Hola Jarry.

Voy ayudarte con los números decimales. Si quieres limitar el número de decimales, usa la función Format.

[code linenumbers=false syntax=gambas]
Public Sub Main()
  
  Dim numero As Float
  
  numero = 34.1234
  
  Print Format$(numero, "-#.##") 
  
End
[/code]

Lo que obtienes es una cadena. Si quieres convertirlo a número debes usar la función Val.
Supongo que el contenido del componente es un cadena, en ese caso no necesitas convertir de cadena a número.

Aquí tienes una buena referencia:

Fomat:

http://gambasdoc.org/help/cat/userformat?es&v3#t2

Val:

http://gambasdoc.org/help/lang/val?es&v3

Saludos


-----------------------------------
jsbsan
Lunes, 17 Marzo 2014, 12:54

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Hola jarrypalacios:

Bienvenido al foro.

[quote]como puedo aplicar formatos a objetos datacontrol en el caso de que el tipo de datos sea flotante y necesite limitar a dos decimales y que tenga separadores de miles; asi mismo me gustaria saber sí se puede controlar el ancho de las columnas en el databrowser y su alineación;[/quote]

Puedes modificar el formato de los números, alineación y colores usando el evento _DATA del DataBrowser.


[code linenumbers=false syntax=gambas]
Public Sub DataBrowser1_Data((Row) As Integer, Column As Integer, Value As Variant)
  
  If IsNull(Value) Then Return
  
  Select Case Column 'depende de la columna y el dato que contenga, le pongo un formato
    Case 0 'columna 1º
      
    Case 1 'columna 2º 
      DataBrowser1.Data.Background = Color.red
      DataBrowser1.Data.Foreground = Color.White
      
    Case 2 
      DataBrowser1.Data.Text = Format(Value, "$0.00")
      
    Case 3
      DataBrowser1.Data.Font.Bold = True
      DataBrowser1.Data.Alignment = Align.Center
  End Select
  
End
[/code]

Te adjunto el código completo y un pantallazo del ejemplo que he hecho:
 [img]http://foro.gambas-es.org/files/images/6/extdata_databrowser_formato.png[/img]

Nota:
La anchura de las columnas no lo he podido averiguar. 

Nota2:
El ancho lo averigua automaticamente según los valores que tiene la columna,  esto lo hace en el método GetWidth
de la clase DataField. Si lo quieres hacer tendrías que  crear un nuevo componente heredado de este para modificar este método. Aqui puedes ver el codigo fuente:
gambas3-3.5.2/comp/src/gb.db.form/.src/DataField.class


-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 14:41

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Gracias voy a probar.


-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 14:43

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Buen Día amigo, he probado el codigo que me enviaste y no funciona.

la función databrowse1_data tiene mucho sentido, pero en que momento dentro de la funcion estas instrucciones se relacionan con la columna especifica del objeto????
en el select case es logico, pero lo probé y no me funciono hermano.

Gracias por el apoyo!


-----------------------------------
jsbsan
Lunes, 17 Marzo 2014, 15:28

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
jarrypalacios:

[quote] pero en que momento dentro de la funcion estas instrucciones se relacionan con la columna especifica del objeto????[/quote]
Es en [b]Column[/b], si la colunmna es la 1º , es el Case 0, si la columna es el 2º, es el case 1,....

[code linenumbers=false syntax=gambas]
 Select Case Column 'depende de la columna y el dato que contenga, le pongo un formato
    Case 0 'columna 1º
      
    Case 1 'columna 2º [/code]

Saludos


-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 16:50

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Fijate Ejecuto este codigo y no obtengo el resultado que pude ver en la imagen que me enviaste.

[code linenumbers=false syntax=gambas]' Gambas class file

Public hconn As New Connection
Private Row As Integer

Public Sub Form_Open()
  
  hconn.host = "/home/palsystems04/Documentos/Desarrollos/pruebas_gambas/ExtData"
  hconn.Name = "leonel"
  hconn.Type = "sqlite3"
  Try hconn.Open()
  
  If Error Then Message.Info("No pudo abrir la base de datos")
  
  DataSource1.Connection = hconn
  DataSource1.Table = "personas" 

End

Public Sub Form_Close()
  
  Try hconn.Close()
  
End

Public Sub DataBrowser1_Data(Row As Integer, Column As Integer, Value As Variant)
  
  If IsNull(Value) Then Return
  
  Select Case Column 'depende de la columna y el dato que contenga, le pongo un formato
    Case 0 'columna 1º
      
    Case 1 'columna 2º 
      DataBrowser1.Data.Background = Color.red
      DataBrowser1.Data.Foreground = Color.White
      
    Case 3 
      DataBrowser1.Data.Text = Format(Value, "$0.00")
      
    Case 4
      DataBrowser1.Data.Font.Bold = True
      DataBrowser1.Data.Alignment = Align.Center
  End Select
  
End

Public Sub DataBrowser1_Arrange()
  
  Print
  
End
[/code]


-----------------------------------
jsbsan
Lunes, 17 Marzo 2014, 17:07

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
jarrypalacios:

Ejecuta el codigo tal como lo envie, en el ide de gambas.

Has modificado la ruta del host, escribiendo:
[quote]hconn.host = "/home/palsystems04/Documentos/Desarrollos/pruebas_gambas/ExtData"[/quote]

Debes de poner, lo que viene en el ejemplo original:
[quote] hconn.host = Application.Path[/quote]

Saludos


-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 19:07

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Realmente no creo que sea la ruta pues el formulario levanta y los datos se pueden vizualizar en el databrowser


-----------------------------------
jsbsan
Lunes, 17 Marzo 2014, 19:34

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
¿que version de gambas3 estas usando?
Yo estoy usando gambas3.5.2  :roll:


-----------------------------------
jarrypalacios
Lunes, 17 Marzo 2014, 20:40

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
la version 3.1.1; esto si que pudiera ser la razon; como la actualizo?



[quote user="jsbsan" post="20963"]¿que version de gambas3 estas usando?
Yo estoy usando gambas3.5.2  :roll:[/quote]


-----------------------------------
jsbsan
Lunes, 17 Marzo 2014, 21:02

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
jarrypalacios:

[quote]esto si que pudiera ser la razon; como la actualizo?[/quote]
Depende que distribución de linux uses....

Aqui hay información para hacerlo desde ppa de memh (para Ubuntu y derivados)
[url=http://cursogambas.blogspot.com.es/2012/08/instalacion-desde-repositorios-del.html]http://cursogambas.blogspot.com.es/2012/08/instalacion-desde-repositorios-del.html

[quote]$sudo add-apt-repository ppa:nemh/gambas3 
 
$sudo apt-get update
$sudo apt-get install gambas3[/quote]

También puedes compilarlo, busca información en el foro.

Saludos


-----------------------------------
jarrypalacios
Miercoles, 19 Marzo 2014, 05:19

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Hermano muchas gracias; he actualizado Gambas, voy a probarlo.


[quote user="jsbsan" post="20966"]jarrypalacios:

[quote]esto si que pudiera ser la razon; como la actualizo?[/quote]
Depende que distribución de linux uses....

Aqui hay información para hacerlo desde ppa de memh (para Ubuntu y derivados)
[url=http://cursogambas.blogspot.com.es/2012/08/instalacion-desde-repositorios-del.html]http://cursogambas.blogspot.com.es/2012/08/instalacion-desde-repositorios-del.html

[quote]$sudo add-apt-repository ppa:nemh/gambas3 
 
$sudo apt-get update
$sudo apt-get install gambas3[/quote]

También puedes compilarlo, busca información en el foro.

Saludos[/quote]


-----------------------------------
gones
Viernes, 07 Junio 2019, 23:13

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
¿Existe alguna forma de manipular las títulos (Headers) de las columnas del databrowser, ejemplo alineación, tamaño de fuente, color de fondo, etc.?


-----------------------------------
shordi
Sabado, 08 Junio 2019, 17:17

Re: Propiedades Controles (Datacontrol Y Databrowser)
-----------------------------------
Un databrowser no es más que un gridview con el contenido de sus celdas automatizado a la base de datos. Supongo que se puede hacer igual que se hace con un gridview, pero no tengo ningún ejemplo directo con esos controles, ya te digo.

Saludos.


