...
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Produto: ECM
Em um determinado fluxo, dependendo da tarefa alguns campos são exibidos normalmente e outros são exibidos desabilitados. No evento displayFields, utilizei o método form.setShowDisabledFields(true) ; e habilitei os campos específicos da tarefa, mas quando abro o formulário todos os campos estão habilitados.
O método form.setShowDisabledFields(true) ; sendo utilizado antes do form.setEnabled não funciona? Existe alguma alternativa?
Como obter uma lista com o nome de todos os campos do formulário para eu inabilitar todos em um loop e depois habilitar apenas os necessário depois?
Verificamos que o método form.setShowDisabledFields() tem efeito apenas quando o formulário é carregado no modo de visualização. Na página Nas páginas 7 e 8 da documentação oficial Guia de Referência Customização de Fichários.pdf disponível em <install_ecm><ECM>\docs-ECM\Documentos de Customizacao\pt , são disponibilizados mais detalhes sobre esta função.
Para desabilitar ou habilitar todos os campos, utilize o método form.getCardData() que retorna um Mapa com todos os campos e valores do formulário. Em seguida, utilize o método form.getCardData().keySet() para obter o nome dos campos e crie um laço de repetição para habilitar ou desabilitar, utilizando o form.setEnabled().
Abaixo segue um exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
function displayFields(form,customHTML){ var habilitar = false; // Informe True para Habilitar ou False para Desabilitar os campos var mapaForm = new java.util.HashMap(); mapaForm = form.getCardData(); var it = mapaForm.keySet().iterator(); while (it.hasNext()) { // Laço de repetição para habilitar/desabilitar os campos var key = it.next(); form.setEnabled(key, habilitar); } } |
...
Informações | ||
---|---|---|
| ||
Este é apenas um exemplo de como obter a lista de campos de um formulário e com o método form.setEnabled(), habilitá-los ou desabilitá-los. Existem outras alternativas para obter este mesmo resultado, caberá ao desenvolvedor verificar a maneira mais adequada ao seu projeto. |