Pessoal,
Tenho um campo texto, com uma imagem, chamando o evento ajax onClick, pois o mesmo não funciona, alguém já passou por esse problema.
Leandro Auler
Pessoal,
Tenho um campo texto, com uma imagem, chamando o evento ajax onClick, pois o mesmo não funciona, alguém já passou por esse problema.
Leandro Auler
estranho ter um campo do tipo “texto” contendo uma imagem??? Não entendi.
Haroldo,
Sim. segue onRecord:
if ({IMOVEL_NEGOCIO} == '1' || {IMOVEL_NEGOCIO} == '3') {
if ({IMOVEL_STATUS_NEGOCIACAO} == '1'){
{IMOVEL_STATUS_NEGOCIACAO} = "<img src=\"../_lib/img/checked-box-vazio-24.png\" width=\"16\" height=\"16\" border=\"0\">";
} elseif ({IMOVEL_STATUS_NEGOCIACAO} == '4') {
{IMOVEL_STATUS_NEGOCIACAO} = "<img src=\"../_lib/img/checked-box-mark-24.png\" width=\"16\" height=\"16\" border=\"0\">";
}
} elseif ({IMOVEL_NEGOCIO} == '2') {
if ({IMOVEL_STATUS_NEGOCIACAO} == '1'){
{IMOVEL_STATUS_NEGOCIACAO} = "<img src=\"../_lib/img/checked-box-vazio-24.png\" width=\"16\" height=\"16\" border=\"0\">";
} elseif ({IMOVEL_STATUS_NEGOCIACAO} == '3') {
{IMOVEL_STATUS_NEGOCIACAO} = "<img src=\"../_lib/img/checked-box-mark-24.png\" width=\"16\" height=\"16\" border=\"0\">";
}
}
e no evento ajax onClick:
sc_select(rs, "SELECT IMOVEL_NEGOCIO, IMOVEL_STATUS_NEGOCIACAO FROM tbl_imoveis WHERE IMOVEL_ID = '".{IMOVEL_ID}."' ");
if ($rs->fields[0] == '1' || $rs->fields[0] == '3') {
if ($rs->fields[1] == '1'){
sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 4 WHERE IMOVEL_ID = {IMOVEL_ID}");
} elseif ($rs->fields[1] == '4') {
sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 1 WHERE IMOVEL_ID = {IMOVEL_ID}");
}
} elseif ($rs->fields[0] == '2') {
if ($rs->fields[1] == '1'){
sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 3 WHERE IMOVEL_ID = {IMOVEL_ID}");
} elseif ($rs->fields[1] == '3') {
sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 1 WHERE IMOVEL_ID = {IMOVEL_ID}");
}
}
sc_ajax_refresh();
Esses scripts seguem a video aula da Camila Moreira: https://www.youtube.com/watch?v=j4mqC5rPBQA
Ah! É uma consulta. Você não tinha especificado o tipo de aplicação.
O exemplo do vídeo apresentado pela vanda não funcionou na própria apresentação?
Se sim, o problema está no seu código, não investiguei para avaliar em profundidade.
Haroldo,
Estou fazendo debug, da aplicação. Rotinas simples como essa, executa:
echo {IMOVEL_STATUS_NEGOCIACAO};
sc_ajax_refresh();
E se chamo essa, não roda e nem da output:
$sql = "SELECT IMOVEL_NEGOCIO, IMOVEL_STATUS_NEGOCIACAO FROM tbl_imoveis WHERE IMOVEL_ID = {IMOVEL_ID}";
echo $sql;
sc_ajax_refresh();
Não sei o que pode estar acontecendo.
remove o sc_ajax_refresh.
Coloca em modo debug em Aplicação/Configuração.
habilita janela output.
Haroldo,
Fiz e nada. Não estou entendendo mais nada.
que tal um sc_commit_trans() no evento onclick antes de dar o refresh?
Vou tentar e já retorno
Vou criar um exemplo aqui.
OK. Fico aguardando.
Haroldo,
Fazendo testes, verifiquei que quando existe alguma transação de banco não funciona, por exemplo:
sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 3 WHERE IMOVEL_ID = {IMOVEL_ID}");
Já desta forma, funciona:
if ({IMOVEL_NEGOCIO} == 1 || {IMOVEL_NEGOCIO} == 3) {
if ({IMOVEL_STATUS_NEGOCIACAO} == 1){
//sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 4 WHERE IMOVEL_ID = {IMOVEL_ID}");
echo "Atualiza 4";
} elseif ({IMOVEL_STATUS_NEGOCIACAO} == 4) {
//sc_exec_sql("UPDATE tbl_imoveis SET IMOVEL_STATUS_NEGOCIACAO = 1 WHERE IMOVEL_ID = {IMOVEL_ID}");
echo "Atualiza 1";
}
}
Não posso realizar nenhuma transação de banco no onCLick?
pode sim executar sc_exec_sql, vou tentar simular aqui.
Leandro,
Veja se é isso que vc deseja:
http://infinitusweb.net.br/form_exemplo_grid_onclik/
*** Tem um bug no evento onclick desde sua criação, achei que tinham resolvido. O evento onclick só consegue trabalhar com as colunas do select que estão visíveis na consulta.
Esse exemplo ficou meio tosco com esse refresh aí.
Haroldo,
É isso mesmo.
Então vou ter que colocar a coluna id na consulta? Senão vai bugar…
Haroldo,
Obrigado pela ajuda. Coloquei o campo e funcionou perfeitamente.
Leandro, da uma olhada na app que fiz de exemplo agora:
Haroldo,
Ficou muito bacana.
Quais eventos você você usou nesse exemplo?
Leandro, para fazer algo tão simples, eu diria banal, tive que usar a criatividade e posso dizer que foi até um calvário fazer essa troca de imagens com ação de um evento Ajax.
Mas valeu pois aprendi um pouco mais e descobri
bugs e falhas de conceito que pelo tempo de vida do sc já deveria estar mais maduro.
Vou fazer um video explicando passo a passo.
Concordo com você.
Valeu.