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
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
@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.
Podemos dar sugestões, dicas, orientações para dúvidas Scriptcase.
A minha sugestão é totalmente funcional.
Mas ensinar PHP por aqui complica.
Bom dia!, Kleyber funcionou perfeitamente, muito obrigado.
]