none
Problema com Binding para controle de situacão do form. RRS feed

  • Pergunta

  • Bom dia,
    Eu tenho um sistema, em que eu criei um enum para gerenciar a situacao do form, por exemplo, se o form esta sendo editado, excluido, incluido.
    Então eu criei os botões incluir, excluir, editar, mas da forma que eu criei eu preciso clicar em editar para habilitar os campos e tal, mas existem telas, que possuem tabs, e cada tab soh pode ser visualizado em certo estado do form, e dessa forma fica meio dificil de eu controlar a situacao, então pensei utilizar o binding, vinculando os controles do form com um binding, ficando da seguinte forma:

    private Binding bRazao;
    bRazao = new Binding("Text", Empresa, "Razao", true, DataSourceUpdateMode.OnValidation);
    bRazao.Parse += new ConvertEventHandler(bRazao_Parse);
    txtRazao.DataBindings.Add(bRazao);
    então ao fazer qualquer alteracao no campo, eh executado o delegate Parse, permitindo que eu altere a situacao do meu form, facilitando, e não precisando mais bloquear os campos, pois ao ser alterado o sistema entenderá que esta sendo editado, agora que vem o problema, quando eu edito o campo, utilizando qualquer tipo no parametro DataSourceUpdateMode, ele altera direto no banco, então no caso de eu não clicar em salvar, ou melhor, clicar em cancelar, o dado anterior do campo não volta, pois já está gravado.
    Agora fica a minha pergunta, existe alguma forma de fazer um tipo de RollBack?
    Ou então eu gostaria de saber como vcs fazem para trabalhar essa situacao do form.

    Desde ja agradeco.

    Marcus Paulo.
    quarta-feira, 3 de fevereiro de 2010 04:07

Todas as Respostas

  • Olha Marcus, não utilizo mais Datasets para fazer estas coisas.
    Hoje eu utilizo apenas classe para fazer as inserções e atualizações, fica fácil de utilizar pois praticamente toda classe que salva no banco tem um Id, então verifico quando este Id é 0 eu insiro no banco, caso contrario eu realizo o update.
    Então nos botoes de salvar e atualizar eu só preciso chamar os metodos e mostrar a mensagem de ok, já no de excluir preciso apenas limpar os campos, nada de ficar verificando qual botao habilitar, desabilitar ou ficar verificando se está editando ou excluindo.
    Então o problema de de voltar ao estado anterior caso clique em cancelar não vai existir, pois os dados só serão salvos quando clicar em salvar.

    Se sua pergunta foi respondida por favor marque a resposta como certa.
    sexta-feira, 5 de fevereiro de 2010 02:00