Tamaño Dinámico de Columnas Xbrowse

Tamaño Dinámico de Columnas Xbrowse

Postby jnavas » 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.
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela

Re: Tamaño Dinámico de Columnas Xbrowse

Postby FranciscoA » Fri Nov 08, 2019 12:30 am

Hola.
Mira si esto te sirve.
Code: Select all  Expand view
//------------------------------------// 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
User avatar
FranciscoA
 
Posts: 2158
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Tamaño Dinámico de Columnas Xbrowse

Postby jvtecheto » Fri Nov 08, 2019 8: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: Select all  Expand view

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  Expand view

 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
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Tamaño Dinámico de Columnas Xbrowse

Postby jnavas » Mon Nov 18, 2019 1:01 am

Saludos y muy agradecido, solucionado con RestoreState() y SaveState()
User avatar
jnavas
 
Posts: 479
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 47 guests