Clipper On Line • Ver Tópico - Efeito zebrado no browser
Mudar para estilo Clássico
Discussão sobre a biblioteca Fivewin - O Clipper para Windows.
Postar uma resposta

Efeito zebrado no browser

10 Fev 2016 15:44

Oi Pessoal,

é o seguinte,estou tentando fazer o efeito zebrado na tela do xbrowser
estou usando um banco dbf e neste banco so apresento os dados filtrados com registros q eu preciso
pois bem,por conta disso não posso usar o recno pois como os dados estão filtrados a numeração de cada registro
não esta vindo em ordem crescente e, sim aleatoriamente.

ja tentei currentRow,::xBrw:nRowAdvance,::xBrw:nRowSel % 2 = 0 e é claro o recno,mas nenhuma dar certo

Oq estou fazendo é mudar a cor da fonte caso minha condição seja atendida e isso eu consegui,so falta fazer o mesmo para o fundo ou seja
o registro

vejam o codigo:
Código:
   SELE 900
//   go top
   REDEFINE XBROWSE ::xBrw ID 4004 OF ::oChild;
   COLSIZES 82,85,85,80,80,55,45,45,78;
   FIELDS 900->FERCOMP, 900->FERIAS, 900->FERIAS1, 900->FERGOZO, 900->FERGOZO1, IF(900->TPFER = "2", "Coletiva",IF (900->TPFER = "3","Perda", "Normal")),900->QTDDIAS,900->SALDOFER,900->NVPERIOD;
   HEADERS "Competência","Aquisicão Inicial", "Aquisição Final", "Gozo Inicial", "Gozo Final", "Tipo","Qtd Fer", "Saldo","Novo Periodo";
   ON DBLCLICK ::IncOuAlt(.F.,.F.)
   ::xBrw:aCols[ 6 ]:bClrStd := {|| { iif( 900->TPFER = "3", CLR_HRED, CLR_BLACK), iif( 900->(recno())  % 2 = 0, RGB(228,245,250), CLR_WHITE)   } }

Efeito zebrado no browser

10 Fev 2016 16:10

Tente assim:

Código:
//Array

...bClrStd := {|| {CLR_BLACK,ZebraBrw(oBrw:nArrayAt) } }

//Arquivo

...bClrStd := {|| {CLR_BLACK,ZebraBrw(,1) } }

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

Function ZebraBrw(xPOSarq,tipo)

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

// se tipo NIL o Browse é feito com Vetor/Array

IF tipo == NIL

   IF (xPOSarq / 2) == Int(xPOSarq / 2)

      Return nRGB(255,255,240)

   ELSE

      Return nRGB(243,253,255)

   ENDIF

else

   SELECT( xPOSarq )

   IF (OrdKeyNo()%2)==0

      Return nRGB(255,255,240)

   ELSE

      Return nRGB(243,253,255)

   ENDIF

ENDIF

RETURN nRGB(255,255,240)

Efeito zebrado no browser

10 Fev 2016 16:12

Ou,

Código:
Definir as cores a seu gosto

#Define CLR_LGREEN nRGB( 190, 215, 190 )
#Define CLR_LGRAY nRGB( 230, 230, 230 )

Veja se voce está usando array
oBrw:bClrStd := { ||{ CLR_BLACK, IF( (oBrw:nArrayAt) %2 == 0, CLR_LGRAY, CLR_LGREEN ) } }
oBrw:bClrSel:={|| {CLR_WHITE,nRGB(0,100,200)}}
oBrw:bClrSelFocus:={|| {CLR_WHITE,nRGB(0,100,200)}}

Se está usando arquivos

oBrw:bClrStd := { ||{ CLR_BLACK, IF( (Alias())->( OrdKeyNo() ) %2 == 0, CLR_LGRAY, CLR_LGREEN ) } }
oBrw:bClrSel:={|| {CLR_WHITE,nRGB(0,100,200)}}
oBrw:bClrSelFocus:={|| {CLR_WHITE,nRGB(0,100,200)}}

Falou....

Efeito zebrado no browser

10 Fev 2016 16:16

Código:
:bClrStd          := { || { CLR_BLACK, If( oBrowse:KeyNo % 2 == 1, CLR_WHITE, RGB( 249, 249, 249 ) ) } }

Efeito zebrado no browser

11 Fev 2016 08:44

Olá Kapiaba, obrigada pelas repostas,com o :KeyNo resolveu,mas vc pode me dizer o que retorna oBrowse:KeyNo?
seria a numeração do registro que apresenta no browser,é isso?

Efeito zebrado no browser

11 Fev 2016 08:51

http://fivetechsupport.com/forums/viewtopic.php?f=3&t=23885
Postar uma resposta