Como fazer um botão de editar formulário em c sharp?

31/07/2017

0

Preciso que, ao clicar no botao editar no formulário onde se encontra minha gridviews, abra um novo form com os dados selecionados para alteração.
Meu codigo recebe os dados da grid normalmente, mas não salva. O que pode ser?

// CODIGO DO FORM PRINCIPAL

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using SistemaSinos.DAL;

namespace SistemaSinos
{
    public partial class frmUsuarios : Form
    {
        public frmUsuarios()
        {
            InitializeComponent();
        }

        private void frmUsuarios_Load(object sender, EventArgs e)
        {
            this.usuarioBindingSource.DataSource = DataContextFactory.DataContext.Usuario;
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            CurrencyManager cm = (CurrencyManager)BindingContext[usuarioDataGridView.DataSource];
            cm.EndCurrentEdit();
            cm.ResumeBinding();
            cm.SuspendBinding();

            var termo = (sender as TextBox).Text.ToLowerInvariant();
            bool semTermo = String.IsNullOrEmpty(termo);

            foreach (DataGridViewRow linha in usuarioDataGridView.Rows)
            {
                if ((linha.Cells[dataGridViewTextBoxColumn4.Index].Value as string).ToLowerInvariant().Contains(termo) || semTermo)
                    linha.Visible = true;
                else
                    linha.Visible = false;
            }
        }

        private void btn_cancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_novo_Click(object sender, EventArgs e)
        {
            frmUsuariosAdd frm = new frmUsuariosAdd();
            frm.Show();
            this.Close();
        }

        private void btn_excluir_Click(object sender, EventArgs e)
        {
            
            if (MessageBox.Show("Tem certeza que deseja excluir esse funcionário?", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                this.usuarioBindingSource.RemoveCurrent();
                DataContextFactory.DataContext.SubmitChanges();
                MessageBox.Show("Funcionário/usuário excluído com sucesso!");
            }
        }

        private void button1_Click(object sender, EventArgs  e)
        {
            try
            {
                
            DataGridViewRow linha = new DataGridViewRow();
            linha = usuarioDataGridView.CurrentRow;
            frmUsuariosEdt alt = new frmUsuariosEdt();


            alt.preencher(
            linha.Cells["dataGridViewTextBoxColumn4"].Value.ToString(), //id
            linha.Cells["dataGridViewTextBoxColumn4"].Value.ToString(), //nome
            linha.Cells["dataGridViewTextBoxColumn7"].Value.ToString(), //email
            linha.Cells["Senha"].Value.ToString(), //senha
            linha.Cells["dataGridViewTextBoxColumn5"].Value.ToString(), // situacao
            linha.Cells["dataGridViewTextBoxColumn6"].Value.ToString(), // sexo
            linha.Cells["dataGridViewTextBoxColumn8"].Value.ToString(), //endereco
            linha.Cells["dataGridViewTextBoxColumn9"].Value.ToString(), //numero
            linha.Cells["dataGridViewTextBoxColumn10"].Value.ToString(), //bairro
            linha.Cells["dataGridViewTextBoxColumn11"].Value.ToString(), //cep
            linha.Cells["dataGridViewTextBoxColumn12"].Value.ToString(), //cidade
            linha.Cells["dataGridViewTextBoxColumn13"].Value.ToString(), //estado
            linha.Cells["dataGridViewTextBoxColumn14"].Value.ToString()); //fone 
            alt.ShowDialog(this);
            }
            catch
            {
                MessageBox.Show("Não é possivel alterar um registro inexistente, clique em Incluir para inserir um novo!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
        }
    }
}


// CODIGO DP FORM DE EDIÇÃO

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using SistemaSinos.DAL;


namespace SistemaSinos
{
    public partial class frmUsuariosEdt : Form
    {
        public frmUsuariosEdt()
        {
            InitializeComponent();
        }

        private void frmUsuariosEdt_Load(object sender, EventArgs e)
        {
         
            this.usuarioBindingSource.DataSource = DataContextFactory.DataContext.Usuario;
            

        }

        public void preencher(string idUsuario, string dataGridViewTextBoxColumn4, string dataGridViewTextBoxColumn7, 
        string Senha, string dataGridViewTextBoxColumn8, string dataGridViewTextBoxColumn9, string dataGridViewTextBoxColumn10, 
        string dataGridViewTextBoxColumn12, string dataGridViewTextBoxColumn11, string dataGridViewTextBoxColumn13, 
        string dataGridViewTextBoxColumn6, string dataGridViewTextBoxColumn5, string dataGridViewTextBoxColumn14)
        
        {
            //parametros para passar os dados do grid
            idUsuarioTextBox.Text = idUsuario;
            nomeTextBox.Text = dataGridViewTextBoxColumn4;
            senhaTextBox.Text = Senha;
            emailTextBox.Text = dataGridViewTextBoxColumn7;
            enderecoTextBox.Text = dataGridViewTextBoxColumn8;
            numeroTextBox.Text = dataGridViewTextBoxColumn9;
            bairroTextBox.Text = dataGridViewTextBoxColumn10;
            cidadeTextBox.Text = dataGridViewTextBoxColumn12;
            cepTextBox.Text = dataGridViewTextBoxColumn11;
            estadoTextBox.Text = dataGridViewTextBoxColumn13;

            sexoComboBox.Text = dataGridViewTextBoxColumn6;
            situacaoComboBox.Text = dataGridViewTextBoxColumn5;
            foneTextBox.Text = dataGridViewTextBoxColumn14;

            
        }

        private void btn_salvar_Click(object sender, EventArgs e)
        {
            
            DataContextFactory.DataContext.SubmitChanges();
            MessageBox.Show("Usuário editado com sucesso!");
            this.Close();
            frmUsuarios frm = new frmUsuarios();
            frm.Show();
        }
    }
}


SOCORRO!
Luis Amorim

Luis Amorim

Responder

Post mais votado

04/08/2017

Você já debugou para saber se não está ocorrendo algum erro na camada de dados?
Observei que você não tem tratativas de erro.
Experimente capturar o retorno depois do update.

Luiz Vichiatto

Luiz Vichiatto
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar