Ayuda con XBROWSE

Post Reply
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Ayuda con XBROWSE

Post by jvtecheto »

Hola :

Practicamente he migrado mi vieja aplicacion a la nueva version de Fivewin con exito pero me gustaria cambiar los
antiguos LISTBOX por XBROWSE.

Tengo este codigo que funciona perfecto.

Code: Select all

 @ 2, 0 LISTBOX Empw ;
   FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ], Emp->codigo, Emp->Nombre, Emp->Ano ;
   Alias cAlias HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
   ON DBLCLICK EditEmpres( Empw, .F. ) WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) UPDATE OF oWndEmp
 
Como seria utilizando XBROWSE

Gracias por vuestra ayuda.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Post by FranciscoA »

Por si aun no lo has hecho, aqui tienes un ejemplo.

Code: Select all

Function Lbx2Brw()
local Empw, cAlias, Emp, oWndEmp

if !File(".\Emp.dbf")
dbCreate(".\Emp",{ { "Cerrada", "L",  1,0 } ,;
                   { "Activo" , "L",  1,0 } ,; 
                   { "Codigo" , "C",  2,0 } ,; 
                   { "nombre" , "C", 35,0 } ,;
                   { "Ano"    , "N",  4,0 } } )
DBUsearea(.t.,,"Emp","Emp",.t.)
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "01" 
   field->nombre := "EMPRESA NUMERO UNO" ; field->ano := 2019
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "02"
   field->nombre := "EMPRESA NUMERO DOS" ; field->ano := 2019
dbappend()
   field->cerrada := .T. ; field->activo := .F. ; field->codigo := "03"
   field->nombre := "EMPRESA NUMERO TRES" ; field->ano := 2018
Emp->(dbcloseArea())
endif

DBUsearea(.t.,,"Emp","Emp",.t.)
cAlias:=Alias()

   DEFINE DIALOG oWndEmp SIZE 600,400 PIXEL TITLE "FiveWin Version 1204"

   @ 2, 0 XBROWSE Empw OF oWndEmp PIXEL ;
          SIZE 280,140 ;
          DATASOURCE cAlias ;
          COLUMNS "Cerrada", "Activo", "Codigo", "Nombre", "Ano" ;
          HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" ;
          FOOTERS CELL LINES ;
          ON DBLCLICK EditEmpres( Empw, .F. ) ;
          WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) ;
          VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
          UPDATE 

   WITH OBJECT Empw 
      :nColDividerStyle := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle := LINESTYLE_LIGHTGRAY

      :aCols[ 1 ]:addResource("aceptar")
      :aCols[ 1 ]:addResource("cancelar")
      :aCols[ 1 ]:bBmpData := {|| IF( Emp->Cerrada, 2,1 ) }

      :aCols[ 2 ]:addResource("checked")
      :aCols[ 2 ]:addResource("unchecked")
      :aCols[ 2 ]:bBmpData := {|| IF( Emp->Activo , 1,2 ) }
   END

   Empw:CreateFromCode()

   ACTIVATE DIALOG oWndEmp CENTERED   ON INIT Empw:Move(40,20)

   (cAlias)->(DbCloseArea())
   Ferase(".\Emp.dbf")

RETURN NIL

Function EditEmpres( oBrw, lLogico ) 
Return MsgInfo("EditEmpres()"+CRLF+;
               oBrw:codigo:Value +"   "+ oBrw:nombre:value )

Function SaveIniCol( oBrw, cAlias )
Return .t.
 
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: Ayuda con XBROWSE

Post by jvtecheto »

Hola FranciscoA.

En primer lugar muchas gracias por tu interes.

Me funciona bien pero no consigo que me muestre los bitmaps como antiguamente con este codigo.

Code: Select all

FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ]
 
Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.

Pruebo con esto y no lo muestra

Code: Select all

:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }
 
mira la pantalla.

Image

Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.

Saludos amigo.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Post by FranciscoA »

jvtecheto wrote: Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.
Pruebo con esto y no lo muestra

Code: Select all

:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }
 
Jose.
Jose:
La unica forma que conozco es agregando los recursos en cada col en que los vas a utilizar.
Prueba lo siguiente (siempre agregando los recursos a las cols):

Code: Select all

local aDbfBmps:={"aceptar","cancelar","checked","unchecked"}
...
...
      :aCols[1]:AddResource( aDbfBmps )
      :aCols[1]:bBmpData := {|| IF( Emp->Cerrada, 2, 1 ) }

      :aCols[2]:AddResource( aDbfBmps )
      :aCols[2]:bBmpData := {|| IF( Emp->Activo, 3, 4 ) }
 
Si existe forma similar o igual a la que expones, traslademos la consulta a los maestros de FiveWin.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Ayuda con XBROWSE

Post by FranciscoA »

jvtecheto wrote: Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.
Jose.
Si te refieres a sobre-iluminar la fila prueba con esto

Code: Select all

   :nMarqueeStyle    := MARQSTYLE_HIGHLROW   //ilumina toda la linea
 
Si te refieres a resaltar los datos (fuente), intenta asi:

Code: Select all

   AEval(oBrw:aCols,{|o| o:DataFont := if(Emp->Activo, oFont2, oFont1 ) } )
 
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Ayuda con XBROWSE

Post by cnavarro »

Intenta definiendo el tipo de columna

Code: Select all

:aCols[ 1 ]:cDataType := 'F'
 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
jvtecheto
Posts: 357
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Ayuda con XBROWSE

Post by jvtecheto »

Hola:

Gracias a los 2, por ahora me funciona me quedan unos flecos que resolver pero prefiero estudiar un poco mas la clase.
Creia que el cambio era mas automatica pero al ser una clase con muchas mas opciones es mas complicado.

dentro de unos dias posteo de nuevo.

Muchisimas gracias.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Post Reply