Cor no Tbrowse

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Cor no Tbrowse

Mensagem por negrao »

Pessoal, ve se tem como

Na Funcao teste() abaixo , tem um Tbrowse que exibe todos os registros que foram filtrados de acordo com o que preciso.
Dependendo do TIPO do registro, ele devera aparecer na tela de uma outra cor, para diferenciar uma entrada de uma saida por exemplo.
So que so vou saber o TIPO(se ele é entrada ou saida) do registro qndo tiver montando os registros na tela do Tbrowse.
So que nao sei onde devo por essa funcao que faca essa verificacao, ja coloquei o comando em tudo que é lugar e nao funcionou.

Como devo fazer isso ?

Obrigado

/********************************************************
tipo = E (entrada) , cor preta
tipo = S (saida) , cor vermelha
********************************************************/
STATIC FUNCTION teste()
LOCAL oTbr := TBrowseDb(02,01,22,78) ,nKey, bFilter
otbr:colorspec := "B/W,W+/BG,N/W,R/W,N/W"
oTbR:addColumn( TBColumnNew("codi", {|| tes->CODI }))
oTbR:addColumn( TBColumnNew("Data", {|| tes->DATA }))

FOR I = 1 TO 12
v_bloq=oTbr:getcolumn(i)
v_bloq:colorblock:={||IIf(!EMPTY(tes->data), IF(tipo == "E", {3,2}, {4,2}))}
NEXT

WHILE .T.
oTbr:colorrect({oTbr:rowpos,1,oTbr:rowpos,oTbr:colcount},IIF(!EMPTY(tes->data),if(tipo == "E",{3,2},{4,2}}))

DO WHILE !oTbr:stabilize() .AND. NEXTKEY() == 0
ENDDO

nKey := InKey(0)
DO CASE
cASE nKey == K_ESC ; EXIT
OTHER ; FMOVIMENTO(OTBR,NKEY) ; LOOP
ENDCASE

FIN->(dbgotop())
oTbr:refreshALL()
ENDDO
RETURN NIL
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem por Dudu_XBase »

Tente agora....

Código: Selecionar todos

    otbr:colorspec := "B/W,W+/BG,N/W,R/W,N/W" 
    oCol1 :=  tbcolumnnew ("CODIGO",   {|| tes->CODIGO)})
    oCol2 :=  tbcolumnnew ("DATA",       {|| dtoc(tes->DATA)})
    

    oCol1:colorblock := {||iif (tes->TIPO="E", {3,2}, {4,2})}
    oCol2:colorblock := {||iif (tes->TIPO="E", {3,2}, {4,2})}
    
    oTbr:addcolumn(oCol1)
    oTbr:addcolumn(oCol2)

    WHILE .T.


           DO WHILE !oTbr:stabilize() .AND. NEXTKEY() == 0
           ENDDO

           nKey := InKey(0)
           DO CASE
               cASE nKey == K_ESC ; EXIT
               OTHER ; FMOVIMENTO(OTBR,NKEY) ; LOOP
           ENDCASE

           FIN->(dbgotop())
           oTbr:refreshALL()
     ENDDO

 RETURN NIL


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Cor no Tbrowse

Mensagem por negrao »

Dudu_xbase , obrigado pela ajuda.

se eu tivesse esse campo TES->tipo tudo seria + facil, mas nao tenho e nao tem como ter, como falei, so vou saber o tipo do campo qndo tiver montando am tela dos registro no Tbrowse.

Pensei em chamar uma funcao que verificasse o tipo , mas nao sei onde posso colocar essa funcao.
Responder