FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Centrar tĂ­tulos de columnas en xBrowse.
Posts: 212
Joined: Wed Apr 07, 2021 03:56 PM
Centrar tĂ­tulos de columnas en xBrowse.
Posted: Tue Apr 27, 2021 03:55 AM

Hola. Quisiera saber como puedo centrar los titulos de las columnas en un xBrowse.
y aprovecho para consultar como especifico el ancho de las columnas del xBrowse ( en ColSizes me cuesta o no se como definirlos correctamente ).
asi lo tengo definido.
@ 4,5 XBROWSE oBrw ;
COLUMNS "CodCliente", "RazonSoc", "Direccion", "EstadoCta", "FecSdoAct", "GenPrecio", "SaldoAct" ;
COLSIZES-10,-10,-10,-10,-10,-10,-10 OF oDlg ;
SIZE 712,285 PIXEL ;
JUSTIFY .T. ;
ALIAS cAlias AUTOSORT FOOTERS LINES CELL NOBORDER ;
BACKGROUND aGrad VERTICAL
y por ultimo como agrego espacios al inicio del contenido de un campo?
ejemplo.
en un registro tengo un campo NIVEL que es numérico y un campo DETALLE que es Alfabético y quiero " indentar " el campo detalle con tantos espacios adelante como lo indique el campo nivel,
para poder mostrarlo asi:

INGRESOS
Cobros en Efectivo
Cobros con Cheques
Cheques Corrientes
Cheques a Fecha
....

Gracias

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Centrar tĂ­tulos de columnas en xBrowse.
Posted: Tue Apr 27, 2021 07:55 PM
After defining the browse,
To center headers of all columns:
Code (fw): Select all Collapse
oBrw:nHeadStrAligns := AL_CENTER


Colsizes: You need to specify the column sizes. XBrowse automatically decides the width of each column depending on the contents of the column.

Specifying colsizes is optional.

Indenting text:
Code (fw): Select all Collapse
oCol:bIndent := { || ( oBrw:cAlias )->LEVEL * 20 }

This indents text by 20 * LEVEL number of pixels.
Regards



G. N. Rao.

Hyderabad, India
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Centrar tĂ­tulos de columnas en xBrowse.
Posted: Tue Apr 27, 2021 09:42 PM
Aqui tenés un ejemplo:

Code (fw): Select all Collapse
Function XBrwIndentado()
local oDlg, oBrw

   DbCreate(".\Cata",{{"CODIGO", "C", 20,0 },;
                      {"NIV",    "N",  3,0 },;
                      {"DESCRIP","C", 40,0 } })

   dbUseArea(.t.,,"CATA","CATA",.f.) 
   dbSelectArea("CATA")

   DbAppend()
   Field->Codigo := "5101"    ; field->Niv := 1 ; field->descrip := "GASTOS DE ADMINISTRACION"
   DbAppend()
   Field->Codigo := "5101001" ; field->Niv := 4 ; field->descrip := "Salarios"
   DbAppend()
   Field->Codigo := "5101002" ; field->Niv := 4 ; field->descrip := "Vacaciones"
   DbAppend()
   Field->Codigo := "5101003" ; field->Niv := 4 ; field->descrip := "Aguinaldo"
   DbAppend()
   Field->Codigo := "5102"    ; field->Niv := 1 ; field->descrip := "GASTOS DE VENTA"
   DbAppend()
   Field->Codigo := "5102001" ; field->Niv := 4 ; field->descrip := "Salarios"
   DbAppend()
   Field->Codigo := "5102002" ; field->Niv := 4 ; field->descrip := "Comisiones"
   DbAppend()
   Field->Codigo := "5102003" ; field->Niv := 4 ; field->descrip := "Gastos de Viaje"

   DEFINE DIALOG oDlg SIZE 450,300 PIXEL TRUEPIXEL TITLE "Prueba XBrw Indentado"

   @ 20,20 XBROWSE oBrw SIZE -20,-20 PIXEL OF oDlg ;
      DATASOURCE "CATA" ;
      COLUMNS "Codigo","Niv", "Descrip" ;
      SIZES 80,30,300 ;
      CELL LINES NOBORDER

   WITH OBJECT oBrw
      :nHeadStrAligns := AL_CENTER
      :Descrip:bIndent := {|| if(Cata->Niv > 1, Cata->Niv * 8, 0) }
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

   CATA->(dbCloseArea())
   Ferase(".\CATA.DBF")
return nil


Saludos.
Francisco J. AlegrĂ­a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 212
Joined: Wed Apr 07, 2021 03:56 PM
Re: Centrar tĂ­tulos de columnas en xBrowse.
Posted: Tue Apr 27, 2021 10:17 PM

Muchas Gracias !!!!

Continue the discussion