Efeito zebrado no browser

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

Avatar do usuário
Daiane
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 28 Out 2014 16:19
Localização: Feira de Santana - BA

Efeito zebrado no browser

Mensagem por Daiane »

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: Selecionar todos

	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)   } }
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Efeito zebrado no browser

Mensagem por Kapiaba »

Tente assim:

Código: Selecionar todos

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

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Efeito zebrado no browser

Mensagem por Kapiaba »

Ou,

Código: Selecionar todos

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

Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Efeito zebrado no browser

Mensagem por Kapiaba »

Código: Selecionar todos

:bClrStd          := { || { CLR_BLACK, If( oBrowse:KeyNo % 2 == 1, CLR_WHITE, RGB( 249, 249, 249 ) ) } }
Avatar do usuário
Daiane
Usuário Nível 3
Usuário Nível 3
Mensagens: 122
Registrado em: 28 Out 2014 16:19
Localização: Feira de Santana - BA

Efeito zebrado no browser

Mensagem por Daiane »

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?
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Efeito zebrado no browser

Mensagem por Kapiaba »

Responder