Como inibir a mensagem ‘Há alterações não salvas no formulário’ em um cadastro MVC

No artigo de hoje, vamos abordar sobre como inibir aquela mensagem ao clicar no botão Fechar em um cadastro MVC.

Se alguma vez, ao clicar no Fechar, você se deparou com a mensagem “Há alterações não salvas no formulário! Você pode perder as alterações. O que deseja fazer?” e em seguida tem 3 botões, sendo Continuar editando, Salvar e Sair da Página.

Abaixo um print de exemplo:

Mensagem que é exibida

 

Acontece que nós podemos sim, inibir essa mensagem para que ela não seja exibida, através do método SetViewAction com a parametrização ASKONCANCELSHOW. Ai basta informarmos .F. no bloco de código.

Dessa forma, se o usuário clicar no Fechar, não irá mais exibir essa pergunta. Abaixo um exemplo de como você pode fazer essa atribuição:

Static Function ViewDef()
	Local oModel := FWLoadModel("zTstSBM")
	Local oStruct := FWFormStruct(2, cAliasMVC)
	Local oView

	//Cria a visualizacao do cadastro
	oView := FWFormView():New()
	oView:SetModel(oModel)
	oView:AddField("VIEW_TAB", oStruct, "SBMMASTER")
	oView:CreateHorizontalBox("TELA" , 100 )
	oView:SetOwnerView("VIEW_TAB", "TELA")

	//Definindo para que não seja exibido aquela pergunta de confirmar realmente ao clicar no Fechar
    oView:SetViewAction('ASKONCANCELSHOW', {|oView| .F.})
Return oView

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação