Bloco TABULAR de linhas com cores distintas

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
NiNo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 62
Registrado em: Seg, 11 Jul 2005 2:03 pm
Localização: são Paulo
NiNo
Developer

Ola novamente.
:?:
Estou necessitando apresentar um forms da seguinte forma...
Codigo ---Data---- ----Nome
000001 29/07/2005 Cleonice
000002 29/07/2005 Patricia
000003 28/07/2005 Jessica
000004 28/07/2005 Juliana
000005 28/07/2005 Almir



quando a coluna data for a data do dia atual (sysdate) então sera apresentado o registro com as cores de atributos normais definidas nas propriedades do item, porem quando a data for data de um dia anterior ou mais deverá ser apresentado o registro de outra cor. Qual propriedade de cor devo trabalhar? BLOCK, RECORD, ITEM e de que forma?

valeu :shock:
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Vais conseguir mudar as cores com o seguinte comando:
SET_ITEM_INSTANCE_PROPERTY !!! :-o :-o
NiNo
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 62
Registrado em: Seg, 11 Jul 2005 2:03 pm
Localização: são Paulo
NiNo
Developer

valeu. Deu certo.
Leo Bil
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 21 Fev 2007 11:18 am
Localização: montes claros minas gerais

então estou precisando de quando selecionar os items do bloco tabular ele mudar a cor do fundo apenas da linha selecionada pelo cursor para diferencia-la . alguém ajuda ?
desde já grato pela atenção
obrigado
flebrao
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 116
Registrado em: Seg, 10 Abr 2006 4:46 pm
Localização: Santa Bárbara D'Oeste
Sua vida É o que você É!!!!

Leo porque você não usa o visual atribute, você coloca a cor que você nele.. e depois você seta de acordo com
a sua necessidade...

Selecionar tudo

SET_ITEM_INSTANCE_PROPERTY ('bloco.campo', CURRENT_RECORD, VISUAL_ATTRIBUTE, 'nome do seu visual');

Eu usei em uma aquerela que fiz e ficou legal...
Não sei se ajudei mas enfim ... :-) veja ai...
abraços
Leo Bil
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 21 Fev 2007 11:18 am
Localização: montes claros minas gerais

beleza deu certim era isso mesmo brigadao :D
Avatar do usuário
Porva
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 342
Registrado em: Seg, 29 Jan 2007 7:36 am
Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP

Pessoal, aproveitando este antigo tópico, fiz a dica acima, funcionou até certo ponto, até encontrar um item que não está no canvas, no entando, preciso dele no bloco

a rotina pintou com uma cor diferente somente a primeira linha do meu bloco tabular de acordo com a condição aqui que apliquei, parando assim que encontrou esse item sem canvas, como posso resolver isso, não sei se fui claro...
Avatar do usuário
Porva
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 342
Registrado em: Seg, 29 Jan 2007 7:36 am
Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP

tipo, ele deveria mudar para vermelho as duas linhas com o nome do Funcionário preenchi, mas fez só na primeira, até encontra um item fora do canvas e gerar aquela msg de erro na barra de status

DDD Telefone Funcionário
=================================
43 33225566 RAFAEL SILVA NUNES
43 33236699
43 44556666 RAFAEL SILVA NUNES
43 22339999


usei esse esquema:

Selecionar tudo

cur_itm := Get_Block_Property( 'b02', FIRST_ITEM );
WHILE ( cur_itm IS NOT NULL ) LOOP
  Relaciona_Funcionario;
  cur_itm := 'b02.'||cur_itm;
    
  --IF  THEN -- aqui vou arrumar depois....
  SET_ITEM_INSTANCE_PROPERTY( cur_itm, CURRENT_RECORD, VISUAL_ATTRIBUTE, 'VS_VERMELHO' );
  --END IF;
    
  cur_itm := GET_ITEM_PROPERTY( cur_itm, NEXTITEM );
END LOOP;
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

cara, se eu não me engano
não precisaria de nenhum loop para esse precesso....

é só você colocar um "IF" na trigger POST-QUERY do bloco e pronto, más ai, acho qui você teria que mudar a propriedade item por item, exemplo:

Selecionar tudo

if :bloco_teste.nome is not null then
   display_item('bloco_teste.nome'             ,'VA_AZUL');
   display_item('bloco_teste.sobrenome'     ,'VA_AZUL');
   display_item('bloco_teste.telefone'         ,'VA_AZUL');
   display_item('bloco_teste.email'             ,'VA_AZUL');
end if;
ps: VA_AZUL seria um visual attribute

espero ter ajudado
Avatar do usuário
Porva
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 342
Registrado em: Seg, 29 Jan 2007 7:36 am
Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP

poxa, é verdade, valeu gokden, vou tentar aqui, fica mais simples mesmo, como não pensei nisso :oops:
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes