Tamaño Dinámico de Columnas Xbrowse

Post Reply
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Tamaño Dinámico de Columnas Xbrowse

Post by jnavas »

Saludos,
Necesito conocer el tamaño de las columnas de Xbrowse luego que el usuario las ha ajustado.
Agradecido por sus comentarios.
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Tamaño Dinámico de Columnas Xbrowse

Post by FranciscoA »

Hola.
Mira si esto te sirve.

Code: Select all

//------------------------------------// 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.

Fwxh1204-MySql-TMySql
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Tamaño Dinámico de Columnas Xbrowse

Post by jvtecheto »

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: Select all

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: Select all

 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 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
jnavas
Posts: 399
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela
Contact:

Re: Tamaño Dinámico de Columnas Xbrowse

Post by jnavas »

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