Usuário com melhor resposta
Carregar Dados do GridView para outro Form

Pergunta
-
Boa noite galera.
Estou iniciando em C# e estou fazendo meu TCC com esta linguagem. Estou aprendendo na força, rsrs.
Estou prestes a entregar o projeto e faltam algumas coisinhas que tenho que fazer ainda.
Será que alguém pode me ajudar por favor?
Eu criei dois forms. Um form de cadastro, onde se tem os textbox, e um botão com uma lupa.
Nessa lupa, quando o usuário clicar, irá aparecer uma tela de pesquisa com um gridview.
Queria saber como eu poderia selecionar o cadastro, clicar no botão selecionar e carregar no primeiro form
as informações em seus devidos textbox.
Detalhe: Eu estou utilizando entity framework...
Desde ja agradeço galerinha!
Respostas
-
Luana segue um simples exemplo que fiz aqui espero que possa te ajudar, o codigo está todo comentado qualquer dúvida é só entrar em contato.
BD:
Código cs Form1:
public Form1() { InitializeComponent(); } //Variável statica do tipo Cliente //que recebe null public static Cliente cliente = null; //Evento load do formulário private void Form1_Load(object sender, EventArgs e) { } //Método Privado que carrega os valores //nos textbox private void CarregaTextBox() { //se a variável cliente for //doferente de null if (cliente != null) { //atribuo os valores ao textbox txtCodigo.Text = cliente.Id.ToString(); txtNome.Text = cliente.Nome; } } //Evento click do btnlupa... private void btnLupa_Click(object sender, EventArgs e) { //Instância do form2 Form2 form = new Form2(); //Aqui chamo o form2 que contem o datagridview //e abro um dialogo entre o form1 e o form2 e se //caso o resultado do dialogo for "OK" eu chamo o método //que carrega os textbox if (form.ShowDialog() == DialogResult.OK) { //Chamo o método que carrega o textbox CarregaTextBox(); } }
Código cs Form2:
public Form2() { InitializeComponent(); } //Evento load do form2 onde carrega o datagridview private void Form2_Load(object sender, EventArgs e) { using (var ctx = new Exemplo()) { dataGridView1.DataSource = ctx.Cliente; } } //evento click do botão selecionar private void btnSelecionar_Click(object sender, EventArgs e) { //Recupero a linha selecionada no datagridview, pegando o valor da céula 0 //que no meu caso é o id do cliente que quero recuperar... //***** Setei o SelectionMode do GRid para fullrowselect***** int codigo = (int)dataGridView1.CurrentRow.Cells[0].Value; using (var ctx = new Exemplo()) { //Aqui recupero o cliente e vinculo o mesmo //na variável statica criada no form1 Form1.cliente = ctx.Cliente.FirstOrDefault(x => x.Id == codigo); //e seto o resultado do dialogo como ok this.DialogResult = DialogResult.OK; } }
Resultado:
Abraços e espero ter ajudado!
"Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)
Pablo Batista Cardoso
www.pablobatistacardoso.com.br
pablobatistacardoso@hotmail.com- Sugerido como Resposta Levi DomingosModerator quinta-feira, 17 de maio de 2012 21:35
- Marcado como Resposta Harley AraujoModerator sexta-feira, 18 de maio de 2012 16:56
Todas as Respostas
-
Luana segue um simples exemplo que fiz aqui espero que possa te ajudar, o codigo está todo comentado qualquer dúvida é só entrar em contato.
BD:
Código cs Form1:
public Form1() { InitializeComponent(); } //Variável statica do tipo Cliente //que recebe null public static Cliente cliente = null; //Evento load do formulário private void Form1_Load(object sender, EventArgs e) { } //Método Privado que carrega os valores //nos textbox private void CarregaTextBox() { //se a variável cliente for //doferente de null if (cliente != null) { //atribuo os valores ao textbox txtCodigo.Text = cliente.Id.ToString(); txtNome.Text = cliente.Nome; } } //Evento click do btnlupa... private void btnLupa_Click(object sender, EventArgs e) { //Instância do form2 Form2 form = new Form2(); //Aqui chamo o form2 que contem o datagridview //e abro um dialogo entre o form1 e o form2 e se //caso o resultado do dialogo for "OK" eu chamo o método //que carrega os textbox if (form.ShowDialog() == DialogResult.OK) { //Chamo o método que carrega o textbox CarregaTextBox(); } }
Código cs Form2:
public Form2() { InitializeComponent(); } //Evento load do form2 onde carrega o datagridview private void Form2_Load(object sender, EventArgs e) { using (var ctx = new Exemplo()) { dataGridView1.DataSource = ctx.Cliente; } } //evento click do botão selecionar private void btnSelecionar_Click(object sender, EventArgs e) { //Recupero a linha selecionada no datagridview, pegando o valor da céula 0 //que no meu caso é o id do cliente que quero recuperar... //***** Setei o SelectionMode do GRid para fullrowselect***** int codigo = (int)dataGridView1.CurrentRow.Cells[0].Value; using (var ctx = new Exemplo()) { //Aqui recupero o cliente e vinculo o mesmo //na variável statica criada no form1 Form1.cliente = ctx.Cliente.FirstOrDefault(x => x.Id == codigo); //e seto o resultado do dialogo como ok this.DialogResult = DialogResult.OK; } }
Resultado:
Abraços e espero ter ajudado!
"Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)
Pablo Batista Cardoso
www.pablobatistacardoso.com.br
pablobatistacardoso@hotmail.com- Sugerido como Resposta Levi DomingosModerator quinta-feira, 17 de maio de 2012 21:35
- Marcado como Resposta Harley AraujoModerator sexta-feira, 18 de maio de 2012 16:56
-