Olá pessoal,
gostaria de saber se existe algum método ou algumas variáveis que pudesse ser alteradas, para que um formulário MVC possa ser considerado como alterado mesmo que o formulário não tenha sido realmente alterado. Necessito disso pois na minha tela MVC eu adicionei um "OtherObject" onde em algumas situações eu posso alterar apenas o conteúdo dele (que não é padrão MVC) porém eu necessito que o form seja considerado como "sujo" e o sistema faça o commit como se eu tivesse realmente alterado algum campo dele.
Anderson, já tentou fazer a atualização de um valor do model quando o seu OtherObject for alterado? Mesmo voltando ao valor anterior, acredito que o MVC vai compreender que houve alteração.
— Daniel Mendes 28 de Sep de 2020Também é possível tentar criar um campo virtual no modelo, alterando o mesmo quando seu dados do OtherObject forem alterados.
— Daniel Mendes 28 de Sep de 2020Daniel, tentei e por algum motivo que eu não descobri, o valor do model não é alterado, não sei se é porque é chamado de dentro de um OtherObject, mas isso foi uma das primeiras coisas que experimentei.
— Anderson Maciel 28 de Sep de 2020Vou tentar com campo virtual.
— Anderson Maciel 28 de Sep de 2020Consegui alterando um campo do formulário mesmo sem ser virtual. O que estava faltando era um refresh na View, o que eu acho desnecessário uma vez quem deveria ser consultado da alteração é o model.
— Anderson Maciel 29 de Sep de 2020Anderson tudo bem ? Tenho a mesma necessidade que você. Poderia passar o trecho de codigo em que conseguiu aplicar está regra ? Muito obrigado
— Edvar W Vassaitis 01 de Oct de 2020Edvar, fiz o seguinte:
oModel:SetValue("SA2MASTER", "A2_BLQPOR", " ") oModel:SetValue("SA2MASTER", "A2_BLQPOR", cOrigVal) oView:Refresh()
em cOrigVal eu salvo o valor original no início da função, altero para vazio e em seguida coloco o valor original novamente e dou o refresh na view.
— Anderson Maciel 13 de Oct de 2020Muito obrigado deu certo !!!
— Edvar W Vassaitis 13 de Oct de 2020