[RESOLVIDO]Colorir linha da GRID - background

Haroldo
Fiz exatamente o indicado.
Localizei a variável “$(#id_sc_field_id_ordem_)”
Verifiquei todas as regras e as coloquei nos lugares indicados, mas parece que estou com dificuldade na hora
de definir corretamente o “campo”.
Já procurei em todo o código fonte a “sequência” “id_sc_field_id_ordem” e não acho.
Como você conseguiu chegar no campo “$(’#id_sc_field_gp_gp_descricao_)”?
Onde no SC consigo o nome interno da coluna?
Obrigado
Marcelo

Na aplicação em execuçaão com o chrome cliquei botão direito sobre o campo e inspecionei.

Por padrão eh id_sc_field_ + nome da coluna + _ + numero da linha.

Haroldo

Sinceramente peço desculpas, mas não estou conseguindo fazer funcionar.

Fiz o exemplo que me passou e substituí onde seria preciso, mas não estou conseguindo pintar o fundo.

Veja o código no onFooter:

$_js="<script>"; foreach ([iw]["realca"] as &$_line) { $_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"yellow\" );"; } $_js.="</script>"; echo $_js;

Abaixo a imagem que capturei durante a execução da aplicação (utilizei o recurso “inpecionar”, mas não consigo ver o nome físico da coluna para poder associar corretamente no código.

Imagem:

Qual a primeira coluna da sua consulta???

Clique botão direito no primeiro “CAMPO” da linha da consulta.

Pelo que entendi sua primeira coluna eh um link não um campo do SQL.

Horaldo

Eu alterei e consegui obter o resultado “id_sc_field_id_ordem_1”.
Agora estou debugando, pois pela lógica deveria pintar o fundo da forma que você fez.
Estou verificando o laço “foreach” para ver se o $_line está retornando “1” ou “01”, pois os elementos estão corretos, porém o fundo não está mudando.

Marcelo

Se você esta usando o meu código ele monta corretamente.

Eu sei.
Fiz o “debub” está correto.
O problema é que não está fazendo correto.
Vou fazer mais alguns testes e retorno.
Obrigado mais uma vez!
Marcelo

Haroldo
Eu fiz uma inspeção no código durante a execução e não encontrei o script gerado no onFooter.
Eu fiz um teste e criei um script num arquivo externo e este script foi adicionado ao código do SC, mas no onFooter não!
Está correto?
Marcelo

Você não esta sabendo localizar esse ponto da onfooter no código inspecionado.

Fica logo após os

das linhas da consulta.

Olá Haroldo, bom dia.

Acredito que esteja realmente com algum problema no meu SC.

O que eu fiz? Criei uma variável com um nome bem esquisito conforme exemplo abaixo e após gerar o código fiz uma busca em todo o diretório do projeto para localizar esta variável que criei e para minha surpresa não apareceu!

No evento onHeader eu coloquei a variável igual ao onFooter. E para minha outra surpresa, consegui localizar, mas apenas na onHeader.

Eu acho que meu SC está com algum bug!

onHeader

[code][iw][“i”]=0;
[iw][“realca”]=Array();

echo "";[/code]

onFooter

$_js="<script >"; $_js.="var luma = 0 ; "; foreach ([iw]["realca"] as &$_line) { $_js.="$('#id_sc_field_id_ordem_".$_line."').parent().parent().css( \"background\", \"red\" );"; } $_js.="</script>"; echo $_js;

Haroldo, bom dia.

Acabei de descobrir o que o motivo de não estar funcionando!!!

Em “Cabeçalho e Rodapé” o “Exibe Rodapé” deve ser igual a “Sim”.

Excelente. O script que passou funcionou muito bem.

Obrigado!

Eh , um detalhe que relamente não me antentei. Vamos que vamos.

Só para deixar o exemplo mais completo:

OnHeader:
[iw][“i”]=0;
[iw][“realca”]=Array();

Onrecord:
[iw][“i”]=$_i=[iw][“i”]+1;
if ({Quant}>100) {
[iw][“realca”][$_i]=“Green”;
}
if ({Quant} > 50 and {Quant}<=100) {
[iw][“realca”][$_i]=“Yellow”;
}

OnFooter:
$_js="";
echo $_js;

Haroldo
Excelente. Agora será possível ter várias cores diferentes.
Parabéns e muito obrigado.
Marcelo

Haroldo, boa noite.

Só não consegui ainda pq estou com a mesma dificuldade em inspecionar o código corretamente para achar o nome do campo.

No seu código: #id_sc_field_gp_gp_descricao_
Seu campo tem o nome gp_gp_descricao_ ?

No meu caso, o primeiro campo da consulta tem um link (ligação), procedo da mesma forma?

Obrigado.

EDIT: Acho que eu uma macro feita pela NM seria muito bem vinda pras consultas.

Ele funciona com qualquer coluna da consulta desde que não sejam links ou botoes de ligação.

o nome do campo que uso como exemplo eh : {gp_gp_descricao}

Obrigado Haroldo, funcionou perfeito!

Haroldo, bom dia.

Se estiver aí preciso de mais uma ajuda!

Estou enfrentando o seguinte problema. Ao carregar o grid está funcionando perfeitamente, mas ao mudar de página ou fazer uma pesquisa avançada, ele está perdendo as configurações e não está mais pintando as colunas…

sabe me dizer o que pode estar acontecendo???

Eu revi o código e está tudo igual, mas ao mudar de paginas não funciona.

Valeu
Abraços
Marcelo

Marcelo,

Faça diferente.

Crie um campo manual, sem label, sem conteúdo, posicione no final da linha.

No evento onrecord: (onde “id_sc_field_customerid_” é um dos campos visíveis da linha).

$_i={sc_seq_register};
if ({priceorder}>3000) {
   $_cor="Green";
}
if ({priceorder} >=1000 and {priceorder}<3000) {
   $_cor="Yellow";
}
if ({priceorder} <1000 ) {
   $_cor="White";
}

{c}="<script>$('#id_sc_field_customerid_".$_i."').parent().parent().css( \"background\", \"".$_cor."\" );</script>";