Troca de dados entre DataGridView Windows Forms

Olá pessoal!

Hoje vou mostrar uma maneira fácil e rápida de trocar dados entre DataGridView, o exemplo consiste em pegar os dados exibidos no dgvClientes01 e transferi-los para o dgvClientes02 no exemplo foi criado uma Classe Cliente e criado uma lista do mesmo e setado como fonte de dados do dgvClientes01, apenas para simular uma base de dados e no clique do botão Transferir percorro o dgvClientes01 e passo seu conteúdo para o dgvClientes02.

Segue abaixo o exemplo todo comentado:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace TrocandoDadosEntreDataGridView
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //Classe Cliente e suas propriedades
        class Cliente
        {
            public int Codigo { get; set; }
            public string Nome { get; set; }
            public string Email { get; set; }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //list de Cliente para simular
            //uma base de dados
            var lista = new List<Cliente>()
                            {
                                new Cliente() {Codigo = 1, Nome = "Pablo",
                                    Email = "pablo@hotmail.com"},
                                new Cliente() {Codigo = 2, Nome = "Maria",
                                    Email = "maria@hotmail.com"},
                                new Cliente() {Codigo = 3, Nome = "João",
                                    Email = "joao@hotmail.com"}
                            };
            //Carrego o dgvClientes01 com o list criado
            dgvClientes01.DataSource = lista;
        }

        //Evento click do botão transferir
        private void btnTransferir_Click(object sender, EventArgs e)
        {
            //informo a quantidade de colunas que o dgvClientes02
            //irá possuir
            dgvClientes02.ColumnCount = 3;

            //Nomeio as colunas
            dgvClientes02.Columns[0].Name = "Codigo";
            dgvClientes02.Columns[1].Name = "Nome";
            dgvClientes02.Columns[2].Name = "Email";

            //percorro o dgvClientes01
            for (int i = 0; i < dgvClientes01.Rows.Count; i++)
            {
                //Adiciono as linhas no dgvClientes02
                dgvClientes02.Rows.Add(dgvClientes01.Rows[i].Cells[0].Value,
                    dgvClientes01.Rows[i].Cells[1].Value,
                    dgvClientes01.Rows[i].Cells[2].Value);
            }
        }
    }
}

O download do exemplo está disponível aqui!!!

Abraços e até a próxima!

Anúncios

Publicado em 26/06/2013, em C#, Windows Forms e marcado como , , , , , , , . Adicione o link aos favoritos. Deixe um comentário.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: