Page 1 of 1

Ancho de columnas en XBROWSER. RESUELTO

Posted: Wed Oct 28, 2020 10:53 pm
by FiveWiDi
Hola a todos,

Estoy actualizando una aplicación bastante vieja y empiezo a utilizar XBROWSER así:

XBROWSER TITLE oTdbfComuni:cName + "-" + oTdbfComuni:cFile + " - Família:" + cCodiFami ;
COLUMNS { "BASEASSO", "REFEASOC", "ESTAT", "CODIFAMI" } ;
SETUP ( oBrw:cHeaders := { "Base associada", "Codi Associat", "Estat", "Codi Família" } )

¿Cómo puedo indicar los anchos de las columnas?

Muchas gracias,

Re: Ancho de columnas en XBROWSER.

Posted: Thu Oct 29, 2020 12:38 am
by FranciscoA
Carlos:

Code: Select all

XBROWSER TITLE oTdbfComuni:cName + "-" + oTdbfComuni:cFile + " - Família:" + cCodiFami ;
COLUMNS { "BASEASSO", "REFEASOC", "ESTAT", "CODIFAMI" } ;
SETUP ( oBrw:cHeaders := { "Base associada", "Codi Associat", "Estat", "Codi Família" } ,;
            oBrw:nWidths := {100,80,60,100}  )
 
Saludos.

Re: Ancho de columnas en XBROWSER.

Posted: Fri Oct 30, 2020 6:29 pm
by FiveWiDi
Perfecto!!!!!

Muchas gracias.

Re: Ancho de columnas en XBROWSER.

Posted: Fri Oct 30, 2020 6:30 pm
by FiveWiDi
Otra consulta parecida.

¿Cómo puedo cambiar el título del DIALOG del XBROWSER durante la ejecución según valores?

Gracias,

Re: Ancho de columnas en XBROWSER.

Posted: Sun Nov 01, 2020 5:39 pm
by FranciscoA
FiveWiDi wrote:Otra consulta parecida.

¿Cómo puedo cambiar el título del DIALOG del XBROWSER durante la ejecución según valores?

Gracias,
No estoy seguro de haber entendido bien tu pregunta, pero aqui está un ejemplo.

Code: Select all

#include "fivewin.ch"
#include "xbrowse.ch"
//---------------------------------------------------------//
FUNCTION MAIN()
EjempXBR(1)
EjempXBR(2)
Return nil

//---------------------------------------------------------//
FUNCTION EjempXBR(nOpc)
local aCols, aHeaders, aWidths, cTitle

if nOpc = 1
   USE STATES
   aCols := {"Code","Name"}
   aHeaders := {"Codigo","Nombre"}
   aWidths := {50,200} 
else
   USE CUSTOMER
   aCols := {"First","Last","Street","City"}
   aHeaders := {"Nombre","Apellido","Calle","Ciudad"}
   aWidths := {100,100,200,100} 
endif

cTitle := "HOJEANDO TABLA " + Alias()

XBROWSER Alias() ;
   TITLE cTitle ;
 COLUMNS aCols ;
   SETUP ( oBrw:cHeaders      := aHeaders,;
           oBrw:nWidths       := aWidths ,;
           oBrw:nMarqueeStyle := MARQSTYLE_HIGHLWIN7 ,;
           oBrw:bRecSelHeader := { || "KeyNo" } ,;
           oBrw:bRecSelData   := { |o| o:KeyNo } ,;
           oBrw:lFooter       := .t. ,;
           oBrw:bRecSelFooter := { |o| o:nLen } ,;
           oBrw:nRecSelWidth  := "9999" )

CLOSE

Return nil
 

Re: Ancho de columnas en XBROWSER.

Posted: Sun Nov 01, 2020 7:41 pm
by FiveWiDi
Gracias Francisco por el interés.

Ciertamente escoges el título del Browser según la tabla que consultas; yo me expliqué mal.

El caso es que consigo añadir un botón al browse que me permite filtrar la DBF; entonces al pulsar ese botón (está en la buttonbar), quiero cambiar el título del DIALOG, pero no sé hacerlo.

Añado el botón así:

Code: Select all

SETUP ( oBrw:cHeaders := { "Data tramesa", "Enviat?", "Destinatari", "Assumpte",    "Mitjà", "N.Annexes",    "Tipus", "Base associada", "Codi Associat", "Estat", "Codi Família", "Hora envío" }, ;
                     oBrw:nWidths  := {             75,        45,           150,        250,        150,          50,         35,               75,              80,      35,            100,           75 }, ;
                     TBtnBmp():NewBar( ,,  ,,, ;
                                       {|This|  This:cToolTip := (aFiltro := Filtro01( AMPAArra, AMPAarra[1][1][2][1][1], 'COMUNI', oTdbfComuni, Nil, .T., aFiltro, .F. ) )[2] }, ;
                                       .T., oBrw:oWnd:oBar, .F.,, aFiltro[2], .F.,, ;
                                       "This:cToolTip := (aFiltro := Filtro01( AMPAArra, AMPAarra[1][1][2][1][1], 'COMUNI', oTdbfComuni, Nil, .T., aFiltro, .F. ) )[2]", ;
                                       ,"Flt",,,,,,,,, .F.,,, ) ;
)

Re: Ancho de columnas en XBROWSER. RESUELTO.

Posted: Sun Nov 01, 2020 8:31 pm
by FiveWiDi
Así:

Code: Select all

             SETUP ( oBrw:cHeaders := { "Data tramesa", "Enviat?", "Destinatari", "Assumpte",    "Mitjà", "N.Annexes",    "Tipus", "Base associada", "Codi Associat", "Estat", "Codi Família", "Hora envío" }, ;
                     oBrw:nWidths  := {             75,        45,           150,        250,        150,          50,         35,               75,              80,      35,            100,           75 }, ;
                     TBtnBmp():NewBar( ,,  ,,, ;
                                       {|This|  This:oWnd:oWnd:SetText( "Filtro: " + (aFiltro := Filtro01( AMPAArra, AMPAarra[1][1][2][1][1], 'COMUNI', oTdbfComuni, Nil, .T., aFiltro, .F. ) )[2] ) }, ;
                                       .T., oBrw:oWnd:oBar, .F.,, GetTrad( "Filtrar" ), .F.,, ;
                                       "This:oWnd:oWnd:SetText( (aFiltro := Filtro01( AMPAArra, AMPAarra[1][1][2][1][1], 'COMUNI', oTdbfComuni, Nil, .T., aFiltro, .F. ) )[2] )", ;
                                       ,"Flt",,,,,,,,, .F.,,, ) ;
                   )
:)