[Resolvido] Cor nas grid quando tiver nomes no setor

Não deu erro, mais também não ficou na cor ficou padrão

não deve estar caindo no if.

Tem outro jeito de pegar ou pq não esta pegando o if?

versão ScriptCase Devel: 9.7.018

Tenta colocar a alteração de cor fora do if ou alterar a condição, só pra confirmar se a alteração de cor esta funcionado, depois tenta ajustar a condição

Como ficaria?
[cod]
$seq = sc_seq_register;
$_setor = [
‘NAVIDECK’=>[‘YELLOW’, ‘BLACK’],
‘MUD/LAB’ =>[‘RED’ , ‘WHITE’]
];

if (array_key_exists({setor}, $_setor)) { //Obsoleto a partir do PHP 8.
//if (isset($_setor[{setor}])) { //Para uso no PHP 8.
echo “#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}”;
}
[\code]

Como ficaria o código?

Não entendi bem fora

$seq = sc_seq_register;
$_setor = [
‘NAVIDECK’=>[‘YELLOW’, ‘BLACK’],
‘MUD/LAB’ =>[‘RED’ , ‘WHITE’]
];

//if (array_key_exists({setor}, $_setor)) { //Obsoleto a partir do PHP 8.
//if (isset($_setor[{setor}])) { //Para uso no PHP 8.
echo “#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}”;
//}

Tenta assim, não testei, mas só comentando o if ele já não entra nele, ou só apaga o if, também fucniona

//COR EM CADA CAMPO DA LINHA

$seq = sc_seq_register;
$_setor = [
‘NAVIDECK’=>[‘YELLOW’, ‘BLACK’],
‘MUD/LAB’ =>[‘RED’ , ‘WHITE’]
];

if (array_key_exists({setor}, $_setor)) { //Obsoleto a partir do PHP 8.
//if (isset($_setor[{setor}])) { //Para uso no PHP 8.
echo “#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}”;
}

$seq = sc_seq_register;
$_setor = [
‘NAVIDECK’=>[‘YELLOW’, ‘BLACK’],
‘MUD/LAB’ =>[‘RED’ , ‘WHITE’]
];

echo “#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}”;

O código é este que esta rodando mais não pega cor.

$seq = sc_seq_register;
$_setor = [
‘NAVIDECK’=>[‘YELLOW’, ‘BLACK’],
‘MUD/LAB’ =>[‘RED’ , ‘WHITE’]
];

if (array_key_exists({setor}, $_setor)) { //Obsoleto a partir do PHP 8.
//if (isset($_setor[{setor}])) { //Para uso no PHP 8.
echo “#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}”;
}

e o que passou não esta dando

Esse código que você postou agora não tem as alterações que apontei para o teste. Qual erro apresenta o q passei?

Parse error: syntax error, unexpected ‘$_SESSION’ (T_VARIABLE), expecting ‘,’ or ‘;’ in C:\Program Files\NetMake\v9-php73\wwwroot\scriptcase\app\Inventario_Ocyan\grid_tbl_inventario\grid_tbl_inventario_grid.class.php on line 2975

Dojeito que passou coloquei

Qualquer cosia tenta mandar o parâmetro direto, ao invés de usar a variável usa o valor das cores, só alterar no echo

Não tenho muito conhecimento com código, como faria?

Quando coloco desta forma

sc_field_style({setor}, ‘#33FF99’, ‘10px’, ‘#000000’, ‘Arial, sans-serif’, ‘bold’);
ele fica assim
image

@gijunior, entendi que você tem dificuldades co código. Você poderia ter dito isto logo no primeiro post. Vamos lá então, pois vou facilitar ao máximo pra você entender: Imagine que os campos que queiras pintar na tua grid são: UNIDADE,ANDAR,SETOR e HOSTNAME (me baseando no print do teu post anterior. Então no evento onRecord da tua grid você precisa fazer o teste de acordo com o que precisas. Desta forma o código ficaria assim:

if({setor} == 'NAVIDECK') 
{
	sc_field_style({unidade}, "#fdf4d2");
	sc_field_style({andar}, "#fdf4d2");
	sc_field_style({setor}, "#fdf4d2");
	sc_field_style({hostname}, "#fdf4d2");
}
else if({setor} == 'MUD/LAB') 
{
	sc_field_style({unidade}, "#73aaff");
	sc_field_style({andar}, "#73aaff");
	sc_field_style({setor}, "#73aaff");
	sc_field_style({hostname}, "#73aaff");
}

O que acontece é que desta forma estás colorindo cada célula da grid, como se fosse uma planilha Excel. Então precisas destacar QUAIS campos terão a cor de fundo alterada, dependendo da tua condição.
Se tiveres mais campos a terem mudanças no fundo, basta acrescentar esses campos no teu IF acima.

Experimente esse exemplo aí e nos informe os teus resultados.

3 Curtidas

Podemos dar sugestões, dicas, orientações para dúvidas Scriptcase.

A minha sugestão é totalmente funcional.

Mas ensinar PHP por aqui complica.

2 Curtidas

Bom dia!, Kleyber funcionou perfeitamente, muito obrigado.
]image