FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Tamaño Dinámico de Columnas Xbrowse
Posts: 492
Joined: Wed Nov 16, 2005 12:03 PM
Tamaño Dinámico de Columnas Xbrowse
Posted: Thu Nov 07, 2019 10:00 PM

Saludos,
Necesito conocer el tamaño de las columnas de Xbrowse luego que el usuario las ha ajustado.
Agradecido por sus comentarios.

Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Tamaño Dinámico de Columnas Xbrowse
Posted: Fri Nov 08, 2019 12:30 AM
Hola.
Mira si esto te sirve.
Code (fw): Select all Collapse
//------------------------------------// CONOCER ANCHO DE COLS DEL BRW
Function SeeColsWidth()
local aCols:={}, oBrw

   USE CUSTOMER NEW ALIAS CUST1 SHARED

   DEFINE DIALOG oDlg SIZE 800,600 PIXEL TITLE "COLS SIZES"
   @ 5,20 SAY "Click Derecho sobre los datos, para ver Info de las columnas" SIZE 300, 20 PIXEL OF oDlg

   @  20,20 XBROWSE oBrw SIZE -20,-40 PIXEL OF oDlg DATASOURCE "CUST1" ;
            AUTOCOLS CELL LINES NOBORDER

   WITH OBJECT oBrw
      :bRClicked := { || ViewColsInfo(oBrw) }
      :CreateFromCode()
   END

   ACTIVATE DIALOG oDlg CENTERED

   CUST1->(DBCLOSEAREA())
return nil
//------------------------------------------//
Function ViewColsInfo(oBrw)
local aCols := {}
   AEval( oBrw:aCols, { |oCol| aadd(aCols,{oCol:cHeader, oCol:nWidth}) } ) 
   XBrowse(aCols, "Col Sizes")
Return nil

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Tamaño Dinámico de Columnas Xbrowse
Posted: Fri Nov 08, 2019 08:33 AM
Hola Juan:

Aunque te han respondido y seguro que sera mejor idea que la mia, te la digo igual.

yo utilizo estas funciones haciendo caso a Mr. Rao.

Code (fw): Select all Collapse
FUNCTION ReadWinData(oBrw, cAlias )   

   LOCAL oIni

   INI oIni File cDirectApp + "\TUFICHERO.INI"
   oBrw:RestoreState( oIni:Get( cAlias, "browse", "" ) )  
   
RETURN NIL

// ------------------------------------------------------------------------ //

FUNCTION SaveWinData(oBrw,cAlias ) 

   LOCAL oIni

   INI oIni File cDirectApp + "\TUFICHERO.INI"
   oIni:Set( cAlias, "browse", oBrw:SaveState() )
          
RETURN NIL


y luego en el ACTIVATE WINDOWS

Code (fw): Select all Collapse
 ACTIVATE WINDOW OWndObr VALID (SaveWinData(oBrw,cAlias), .T.) ;
  ON INIT ReadWinData(oBrw,cAlias)


Con esto si tu cambias el tamaño de las columnas del XBROWSE se graban y se restauran automaticamente
cuando vuelves a activar la ventana,
lo que se graba el fichero TUFICHERO.INI es


browse=XS1:{{"_nCreationOrders",{1,2,3,4}},{"_nRowHeight",21},{"_nWidths",{81.30,149.05,321.65,365.85}},{"_lHides",{.F.,.F.,.F.,.F.}},{"_cGrpHdrs",{,,,}},{"_cHeaders",{"CODIGO","C.I.F.","NOMBRE","DIRECCION"}}}


Ahora seria meter esa linea de texto en un array y acceder a sus elementos. No se si Mr. Rao tiene algo previsto , se se claramente que es el _nWidths o sea {81.30,149.05,321.65,365.85}
seria interesante que nos dijera su opinion.

Saludos

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 492
Joined: Wed Nov 16, 2005 12:03 PM
Re: Tamaño Dinámico de Columnas Xbrowse
Posted: Mon Nov 18, 2019 01:01 AM

Saludos y muy agradecido, solucionado con RestoreState() y SaveState()

Continue the discussion