Autor Tópico: <RESOLVIDO>Alterar dinamicamente cor de fundo de um campo</RESOLVIDO>  (Lida 371 vezes)

Andre Batista

  • Iniciante
  • **
  • Mensagens: 50
Olá, preciso muito da ajuda de vocês!

Estou tentando fazer o seguinte procedimento e não consegui,olhe que já pesquisei muito no fórum!!

1º - Tenho um cadastro de percentuais e cores para cada percentual.
2º - Tenho um relatório que para cada percentual o campo muda de cor de acordo com o que foi cadastrado.

EX: campo 01 está com 8%, a cor do campo seria Azul.
EX_02 : campo 02 está com 5% a cor do campo seria vermelho.

Alguma alma caridosa para me ajudar??
Agradeço desde já!!
« Última modificação: Março 29, 2016, 09:02:35 am por Andre Batista »

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 175
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #1 Online: Março 28, 2016, 11:28:11 am »
Olá, Andre Batista!
Você pode criar um array com as cores e outro com os valores.
E no evento onde quer colorir o objeto você faz a verificação.

Ex: $array_cores = array (1 => "blue", 2 => "green"...);

  if($valor_percent > 0 && $valor_percent <= 9){
       
       $objeto_backgroundcolor = $array_cores[1];
  }
« Última modificação: Março 28, 2016, 08:28:10 pm por Cleidson dos Santos »
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Andre Batista

  • Iniciante
  • **
  • Mensagens: 50
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #2 Online: Março 28, 2016, 02:19:05 pm »
Ola Cleidson, obrigado pela resposta!

Sobre o Array já consegui fazer essa solução, porém o problema é que o background do campo não vai aceitar essa variável $objeto_backgroundcolor,esse é o meu grande problema.

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 175
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #3 Online: Março 28, 2016, 02:21:25 pm »
Qual o tipo de aplicação que você esta usando?
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Andre Batista

  • Iniciante
  • **
  • Mensagens: 50
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #4 Online: Março 28, 2016, 02:34:06 pm »
uma grid(consulta).

Haroldo

  • Expert
  • *****
  • Mensagens: 6276
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #5 Online: Março 28, 2016, 02:37:04 pm »

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 175
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #6 Online: Março 28, 2016, 02:39:27 pm »
Em uma aplicação que mudo a cor de fundo de acordo com critérios uso a Macro  sc_field_style().
No evento onRecord da grid coloco minhas condições e funciona bem.

Tente com essa macro, acho que vai te atender.
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

Jailton

  • Expert
  • *****
  • Mensagens: 2038
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #7 Online: Março 28, 2016, 03:09:00 pm »
Bom como eu gosto de comodidade e facilidade, já adicionei uma função na minha biblioteca pública interna do SC, para fazer isso:
Código: [Selecionar]
<?php
/*
Função para Criar uma TARJETA com a String do Campo e Cor Selecionada

como usar:

Esta rotina serve tanto para ser usada em Formulários, quanto em consultas
nos Formularios criar um campo virtual: Nomeseucampo_Cor para receber
o campo com a COR se não o SC vai tentar gravar ele com HTML junto.

FORMULARIOS
{Status_Cor} =  TarjetaCOR({Status}, 'VERDE CLARO');


CONSULTAS
FORMULARIOS
{Status_Cor} =  TarjetaCOR({Status}, 'VERDE CLARO');

O SC tem uma macro que configura a COR, ESTILO, etc, especifica
para CONSULTAS: sc_field_style({Operacao}, '#FF0000', '12px', '#FFFFFF', 'Arial, sans-serif', 'bold');

* Mas o SC não tem esta macro para formulários, por isso usamos esta rotina, para facilitar em ambos.


*/

function TarjetaCOR($String$Cor) {

$CorSelecionada='style=color:white;background:green';
if ($Cor=='ROXO') {
$CorSelecionada='style=color:white;background:#6500CC';
}
if ($Cor=='VERDE ESCURO') {
$CorSelecionada='style=color:white;background:#003300';
}
if ($Cor=='ROSA') {
$CorSelecionada='style=color:white;background:#FF00FF';
}
if ($Cor=='BRANCO') {
$CorSelecionada='style=color:black;background:#FFFFFF';
}
if ($Cor=='LARANJA') {
$CorSelecionada='style=color:white;background:#FF6500';
}
if ($Cor=='VERMELHO ESCURO') {
$CorSelecionada='style=color:white;background:#800000';
}
if ($Cor=='VERDE CLARO') {
$CorSelecionada='style=color:white;background:#008000';
}
if ($Cor=='MARRON') {
$CorSelecionada='style=color:white;background:#993300';
}
if ($Cor=='CINZA') {
$CorSelecionada='style=color:white;background:#808080';
}
if ($Cor=='AMARELO') {
$CorSelecionada='style=color:black;background:#FFFF00';
}
if ($Cor=='PRETO') {
$CorSelecionada='style=color:white;background:#000000';
}
if ($Cor=='VERMELHO CLARO') {
$CorSelecionada='style=color:white;background:#FF0000';
}
if ($Cor=='BEGE') {
$CorSelecionada='style=color:black;background:#FFCC99';
}
if ($Cor=='AZUL ESCURO') {
$CorSelecionada='style=color:white;background:#000080';
}
if ($Cor=='AZUL CLARO') {
$CorSelecionada='style=color:white;background:#3365FF';
}

$Retorno='<font '.$CorSelecionada.'><b>'.'&nbsp&nbsp'.$String.'&nbsp&nbsp'.'</b></font>';

return $Retorno;

// Fim da Função: function TarjetaCOR($Tipo, $String, $Cor)

?>

O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Andre Batista

  • Iniciante
  • **
  • Mensagens: 50
Re:Alterar dinamicamente cor de fundo de um campo
« Responder #8 Online: Março 28, 2016, 04:58:22 pm »
Obrigado a todos!

Realmente não me atentei e não conhecia a macro sc_field_style.

Agradeço a todos pela disposição!

Abraços!