FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambiar de Header en xBrowse
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Cambiar de Header en xBrowse
Posted: Wed Apr 22, 2009 08:21 PM

Hola Distinguidos

Como hago para que cambie un Header de xBrowse cuando una variable o un radio cambia de valor

Ej:
oCol := oBrw1:AddCol()
oCol:bStrData := { || OEMTOANSI(TRAB->RESPONSABL)}
oCol:cHeader:=IF(cRes="E","LO EJECUTO","LO REALIZA")
oCol:nWidth:=175
oCol:nHeadStrAlign := AL_CENTER

La primera vez lo coloca, pero si la variable cambia no cambia el header

Gracias una vez más por su ayuda

Saludos

Adhemar

Saludos,



Adhemar C.
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Cambiar de Header en xBrowse
Posted: Wed Apr 22, 2009 08:41 PM
Adhemar...

oCol:=IF(cRes="E","LO EJECUTO","LO REALIZA")


de esta forma estas creando La columna con un unico valor segun la condicion, para que el header sea dinamico deberia ser un codeblock, el cual no lo es porque la data "cHeader" es tipo string...

te recomiendo que en el proceso donde tu sistema cambia de valor la variable "cRes" tambien cambie de valor el cHeader, luego refrescas el browse...
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Cambiar de Header en xBrowse
Posted: Wed Apr 22, 2009 09:02 PM

Daniel he realizado lo siguiente:

Local xRadio:={|| ( Cambia(oDBF),oBrw1:GoTop(),oBrw1:Update(),oBrw1:Refresh(),oBrw1:SetFocus() )}
..
REDEFINE RADIO nPenProEje ID 103,104,105 OF oDlg1 ON CHANGE EVAL(xRadio)
..

oCol:= oBrw1:AddCol()
oCol:bStrData := { || OEMTOANSI(TRAB->RESPONSABL)}
oCol:cHeader:=cEjeReal
oCol:nWidth:=175
oCol:nHeadStrAlign := AL_CENTER
.
.
Function Cambia(oDBF)

cEjeReal:=iif(nPenProEje=1,"PENDIENTE",iif(nPenProEje=2,"LO REALIZA","LO EJECUTO"))

Return Nil
*

Saludos,



Adhemar C.
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Cambiar de Header en xBrowse
Posted: Wed Apr 22, 2009 10:33 PM

Con la ayuda de Daniel Garcia
lo Logré.
Debe ser de esta forma:

Local xRadio:={|| ( Cambia(oDBF,oBrw1:aCols[6]),oBrw1:GoTop(),oBrw1:Update(),oBrw1:Refresh(),oBrw1:SetFocus() )}
..
REDEFINE RADIO nPenProEje ID 103,104,105 OF oDlg1 ON CHANGE EVAL(xRadio)
..

oCol:= oBrw1:AddCol()
oCol:bStrData := { || OEMTOANSI(TRAB->RESPONSABL)}
oCol:nWidth:=175
oCol:nHeadStrAlign := AL_CENTER
.
.
Function Cambia(oDBF,oCol)

cEjeReal:=iif(nPenProEje=1,"PENDIENTE",iif(nPenProEje=2,"LO REALIZA","LO EJECUTO"))
oCol:cHeader:=cEjeReal
Return Nil

Muchas Gracias

Saludos

Adhemar

Saludos,



Adhemar C.

Continue the discussion