[RESOLVIDO] Consulta/Grid desejo exibir um valor em um campo virtual que conterá o valor de outros campos da mesma linha

Consulta/Grid desejo exibir um valor em um campo virtual que conterá o valor de outros campos da mesma linha

o que eu preciso é:

{meu_campo_virtual} = {campo1_da_grid} - {campo2_da_grid};

pra quem precisar de mais explicações segue abaixo:
criei um campo virtual num aplicacao de consulta e não consigo alterar o valor dele por Ajax ou php pegando o valor da linha do mesmo.

minha solucao até agora foi usar lá no campo de comando SQL o código:

SELECT CONCAT( CONVERT(111, CHAR(10)) , RAZAO_SOCIAL)
FROM tabelateste1
WHERE CNPJ = ‘{CNPJ}’

que está pegando a linha referencia pelo campo_chave “CNPJ”, verificando se o valor é o mesmo do “{CNPJ}” da grid e então retornando a string concatenada de “RAZAO_SOCIAL” com outra qualquer

agora vou repetir isso para os campos que realmente preciso

mas gostaria de uma solução por php ou javascript por favor

Oi Victor, não sei se posso te ajudar com isso, mas se eu estiver entendendo, tenta assim: no evento onRecord da grid coloca assim: {campo_virtual} = {campo1_grid}-{campo2_grid};

Acredito que ele vai calcular os valores de cada linha da grid e vai colocar o resultado no campo virtual.

Do jeito que preciso de ajuda, quando posso também espero ajudar.

não funcionou tentar isso no onRecord,

tenho que mencionar que já tinha tentado isso no onScriptInit, também não funcionou.

{campo_virtual} = {campo1_grid}."-".{campo2_grid};

também não obteve resultado.

o problema parece ser que não está se encontrando o valor nem do campo_virtual

pois se eu fizer {campo_virtual} = “aa”; ainda não aparece valor nenhum no mesmo quando olho na grid. (tentei esse comando nos eventos onScriptInit e no onRecord)

Tente dar um ECHO em cada campo que você quer concatenar pra ver se está vindo as informações que precisas.

Outra coisa: Esse código de concatenação TEM que estar no evento OnRecord, pra poder funcionar em todos os registros da grid.

1 Curtida

descobri o erro,

eu tinha uma consulta1 e copiei fazendo consulta2, os campos virtuais bugaram e não recebiam valor

deletei todos e criei novos, e de brincadeira usei o código abaixo no onRecord como vocês disseram.

Peço desculpas por gastar o tempo de vocês com um erro tão simples e além disso por ser apenas uma falta de atenção e bug.

Respeitosamente,
Ademir José Piontkovsky Filho (Desenvolvedor Deltacom) (a conta “Vitor” é de meu superior)

Codigo no evento onRecord:

$CNPJ_em_php = {CNPJ};

echo $CNPJ_em_php ;

$CNPJ_inteiro = intval($CNPJ_em_php);

$data_atual = new DateTime();
$data_atual->format(‘d/m/Y’);
$dia_atual = $data_atual->format(‘d’);
$dia_atual_inteiro = intval($dia_atual);

$soma_dia_atual = strval($CNPJ_inteiro + $dia_atual_inteiro);

{campo_virtual_novo} = $soma_dia_atual." sendo o CNPJinteiro: “.$CNPJ_inteiro.” e dia atual: ".$dia_atual;

1 Curtida