Tenho uma grid com ligação para um formulário;
Teria como ocultar o botão de ligação (editar) da grid dinâmicamente em
algum evento?
Tenho a necessidade de acordo com o usuário o mesmo não poder editar o formulário ai
eu esconderia o botão.
Removi a ligação e criei uma campo ImagemHtml com um link.
em outro tópico vi que vc aconselhou a trocar a imagem e desabilitar o link dinamicamente, como isto é feito?
//somente altera o link, gostaria de desabilitar
if ([usr_login] == "vendedor"){
//sc_field_display({editar}, off);
sc_link(editar, #, ,"hint do link");
}
Você esta numa grid correto? Evento onrecord. A cada registro lido (ainda não exibido), você vai realizar a critica e se ela for satisfeita vc moverá uma string para para um campo virtual do tipo texto que sera a tag html e dentro dessa critica vai habilitar o link com o macro sc_link, apontando para uma aplicação de edição do registro(não um #).
supondo que o campo virtual do tipo text criado se chame : editar.
if ([usr_login] == "vendedor"){
{editar}="<img src=../_lib/img/edit.png />";
sc_link(editar, app_form_edita, ,"hint do link");
}else{
{editar}="";
}
if ([usr_login] != "vendedor"){
{edit}="<img src=../_lib/img/scriptcase__NM__edit_form_saphir.png />";
//_lib/img/scriptcase__NM__edit_form_saphir.png
sc_link(edit,form_pedidos,fld_codigo={fld_codigo},"Editar o Pedido", "modal",300,600);
}else{
{edit}="<img src=../_lib/img/grp__NM__ico__NM__lock_edit_16.png />";
}
mais vale notar que agora estou com outro problema que após clicar em salvar ele abre uma tela(select) de busca clientes sendo que isto não está programado.
Aplicação inicial( a que tem o link para abrir o modal ):
Em grid: colocar no evento OnHeader ( ativar a exibição do cabeçalho)
Em formulário/controle: colocar no evento OnScriptInit ou OnLoad
Ai você pode adaptar o código para executar em um botão JavaScript ( caso seja, retirar as tags script )
Ou executar após o clique de algum botão especifico, etc…
também não funcionou ao usar o sc_link abrindo o modal.
Mais dps de tantas voltas e pesquisas reativei a ligação por aplicação na consulta pois é a que melhor esta funcionando para as minhas necessidades.
Resolvi o problema inicial que era que um usuário sem acesso a editar registro ao clicar no icone abria a tela de “Usuário não autorizado” apenas inativando o evento no componente.
[code]if ([usr_login] == “vendedor”){
?>
/*bloqueia acesso a edicao do registro na consulta */
#bedit {
pointer-events: none !important;
}
<?php
}[/code]
PS: se alguém puder me ajudar com o JavaScript pendente eu agradeço imensamente!!
Seria simples se o form aberto pelo sc_link fecha-se após o update, ele só exibe a mensagem “Registro atualizado com sucesso” e fica no formulário não o encerrando.