none
Ajuda com salvar edição! RRS feed

  • Pergunta

  • Minha aplicação ta com quase tudo funcionando mais tem um pequeno probleminha. Cada cliente tem uma lista de contatos e eles aparecem em uma datagrid dentro do formulário de cliente na tabControl quando eu chamo um cliente pelo botão editar da column button, ele salva as edições do cliente bonitinho mais apaga a lista de contatos do cliente. Se eu apenas abrir o fomulário pra consulta ou edição e der cancel nada acontece...

    Construtor que passa em cliente!

    public frmCliente(Cliente cliente)
                :this()
            {
                if (cliente == null)
                    throw new ArgumentNullException("cliente");
    
                txtNome.Text = cliente.Nome;
                txtLogradouro.Text = cliente.Endereco.Logradouro;
                txtEmail.Text = cliente.Email;
                txtCidade.Text = cliente.Endereco.Cidade;
                txtTelefone.Text = cliente.Telefone;
                txtCEP.Text = cliente.Endereco.CEP;
                txtBairro.Text = cliente.Endereco.Bairro;
                cmbEstado.Text = cliente.Endereco.Estado;
                txtDataCadastro.Text = Convert.ToString(cliente.DataCadastro);
    
                bs.DataSource = cliente.Contatos;
                dgdContatos.DataSource = bs;
            }
    

     

    Botão Salvar

     private void btnSalvar_Click(object sender, EventArgs e)
            {
                cliente.Nome = txtNome.Text;
                cliente.Endereco.Logradouro = txtLogradouro.Text;
                cliente.Endereco.CEP = txtCEP.Text;
                cliente.Endereco.Bairro = txtBairro.Text;
                cliente.Endereco.Estado = cmbEstado.Text;
                cliente.DataCadastro = DateTime.Now;
                cliente.Email = txtEmail.Text;
                cliente.Telefone = txtTelefone.Text;
    
                ValidarForm();
    
                if (Erro == false)
                {
                    cadastrarClienteHandler.Gravar(cliente); 
                    this.DialogResult = DialogResult.OK;
    
                    bs.ResetBindings(false);
                    this.Close();
                }
    


    Botão novo na tela de consulta de cliente!

     private void btnNovo_Click(object sender, EventArgs e)
            {
                frmCliente frmCliente = new frmCliente();
    
                frmCliente.ShowDialog();
    
                if (frmCliente.DialogResult == DialogResult.OK)
                {
                    Cliente cliente = frmCliente.RetornarCliente();
    
                    ((List<Cliente>)bs.DataSource).Add(cliente);
    
                    bs.ResetBindings(false);
                }
            }
    

    Grato desde já Abração...


    Portal: www.teleportese.com
    sexta-feira, 6 de janeiro de 2012 17:44

Respostas

  • Fala ae pessoal meu Chefe me deu uma força aqui eu tava colocando umas instâncias erradas mais agora ta funfando!
    Portal: www.teleportese.com
    • Marcado como Resposta Ricardo Masala sexta-feira, 6 de janeiro de 2012 18:22
    sexta-feira, 6 de janeiro de 2012 18:21