Desabilitar botão editar registro do Grid + Resolvido

Como desabilito o botão editar do grid conforme resultado de um determinado campo?

criaum metodo, que caso o valor de tal campo seje x, execute== esconda botao edita, casa contrario exibar

id (campo == x)
{
sc_btn_display(‘new’, ‘off’);
sc_btn_display(‘delete’, ‘off’);
sc_btn_display(‘update’, ‘off’);
}

else
{
sc_btn_display(‘new’, ‘on’);
sc_btn_display(‘delete’, ‘on’);
sc_btn_display(‘update’, ‘on’);
}

Atenciosamente Arquimedes

isso vai funcionar para a coluna toda não apenas para uma linha.

Arquimedes,
o que preciso é que o botão (Editar ou Detalhe) de cada linha do grid fique habilitado ou não conforme o valor de um determinado campo. Lembrando que deverá ser testado em cada linha do grid.

Atenciosamente,
André.

desabilito o editor e crio um campo para editar chamando o formulario pelo link
exemplo

sc_btn_display(‘update’, ‘off’);

sc_lookup(ds,"SELECT count( * )FROM tabela WHERE campo={codigo} ");

if({ds[0][0]} >= 1)
{

sc_link (editar, formulario_cadastro.php, campo={codigo},“Editar “,”_self” );
{editar}=“Editar”;

}

else
{

 {editar}=" Não Disponivel";


}

Atenciosamente Arquimedes

Arquimedes,
Eu já tinha pensado em fazer assim, só que pensei que poderia desabilitar o botão. Más valeu pela dica.
Obrigado.

atenciosamente,
andré.

Arquimedes,
você sabe onde coloco essa rotina que você informou?

dentro de consulta em Eventos vai em onRecord

Atenciosamente Arquimedes

para quem precisa deixar somente alguns registros do GRID serem editados, segue o procedimento:

Usar a macro
sc_apl_conf(“Aplicação”, “Propriedade”, “Valor”)

ex:sc_apl_conf(“minha_consulta”, “lig_edit”, “off”); // exclui o botão editar
Eventos que podem ser colocados essa macro :onApplicationInit, onButtonClick, onScriptInit.

Crie um campo e faça o procedimento do nosso amigo arquimedes mencionou colocando no evento onRecord.

Pode ser que exista outra forma, más, eu não encontrei.

Fica a dica para quem precisa.

Andre coloca no titulo Assunto +Resolvido.

No que estiver ao meu alcançe, estou a disposição.

Atenciosamente Arquimedes

Valeu arquimedes.
Muito obrigado.

André, poderia explicar melhor o uso deste lig_edit? No exemplo você diz “minha_consulta”, que segundo a macro trata-se do nome da “Aplicação”. Eu fiz aqui, minha aplicação chama-se “grid_carteira_vendedor” e coloquei este código no evento onRecord.

Então, dentro de um IF no evento onRecord, dependendo do resultado da query lanço o seguinte código:

sc_apl_conf("grid_carteira_vendedor", "lig_edit", "off"); // para desligar o botão edit da linha

Ou então:

sc_apl_conf("grid_carteira_vendedor", "lig_edit", "on"); // para ligar o botão edit da linha

Mas nada acontece! O que você quis dizer com “minha_consulta” exatamente?