[Resolvido] Cor nas grid quando tiver nomes no setor

tente:

Uma correção:

$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 "<style>#SC_ancor{$seq} {background-color: {$_setor[{setor}][0]}; color: {$_setor[{setor}][1]};}</style>";
}

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