none
transferir dados entre datagrid c# RRS feed

  • Pergunta

  • Bem boa tarde tenho o seguinte dataGridView1

    o data grid acima esta conforme meu banco de dados sql, gostaria de transferir para um segundo data dataGridView2 na seguinte manei do datagrid abaixo

     

    AGUARDO QUEM PUDER MIM AJUDAR


    segunda-feira, 7 de abril de 2014 18:56

Respostas

  • Olá, não testei mas isso é somente questão de lógica talvez seja por ai fiz baseado no outro link da duvida anterior :

    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;
    
    namespace TesteDataSet
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
    
                dataGridView2.Columns.Add("Nome", "Nome");
                dataGridView2.Columns.Add("Emissao", "Emissao");
                dataGridView2.Columns.Add("Titulo", "Titulo");
                dataGridView2.Columns.Add("Vencimento", "Vencimento");
                dataGridView2.Columns.Add("Valores", "Valores");
    
                var list = new List<Tempo>();
    
                for (int i = 0; i < 5; i++)
                {
                    list.Add(new Tempo
                    {
                        Nome = "DANIEL",
                        Emissao = DateTime.Now.ToString(),
                        titulo1 = i,
                        titulo2 = 200 + i,
                        titulo3 = 300 + i,
                        valor1 = 1000 + i,
                        valor2 = 1000 + i,
                        valor3 = 1000 + i
                    });
                }
    
                list.Add(new Tempo
                {
                    Nome = "JOAO",
                    Emissao = DateTime.Now.ToString(),
                    titulo1 = 100,
                    titulo2 = 200,
                    titulo3 = 300,
                    valor1 = 1000,
                    valor2 = 1000,
                    valor3 = 1000
                });
    
                list.Add(new Tempo
                {
                    Nome = "TESTE",
                    Emissao = DateTime.Now.ToString(),
                    titulo1 = 100,
                    titulo2 = 200,
                    titulo3 = 300,
                    valor1 = 1000,
                    valor2 = 1000,
                    valor3 = 1000
                });
                dataGridView1.DataSource = list;
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                foreach (DataGridViewRow item in dataGridView1.Rows)
                {
                    if ((string)item.Cells[0].Value == "DANIEL")
                    {
    
                        dataGridView2.Rows.Add(item.Cells[0].Value,
                                               item.Cells[1].Value,
                                               item.Cells[2].Value,
                                               item.Cells[3].Value,
                                               item.Cells[4].Value);
    
                    }
                }
    
                foreach (DataGridViewRow item in dataGridView1.Rows)
                {
                    if ((string)item.Cells[0].Value == "DANIEL")
                    {
    
                        dataGridView2.Rows.Add(item.Cells[0].Value,
                                               item.Cells[1].Value,
                                               item.Cells[5].Value,
                                               item.Cells[6].Value,
                                               item.Cells[7].Value);
    
                    }
                }
    
            }
    
            class Tempo
            {
                public string Nome { get; set; }
                public string Emissao { get; set; }
                public int titulo1 { get; set; }
                public int vencimento1 { get; set; }
                public int valor1 { get; set; }
                public int titulo2 { get; set; }
                public int vencimento2 { get; set; }
                public int valor2 { get; set; }
                public int titulo3 { get; set; }
                public int vencimento3 { get; set; }
                public int valor3 { get; set; }
            }
    
        }
    }

    • Marcado como Resposta Rhael_Andrade terça-feira, 8 de abril de 2014 13:30
    terça-feira, 8 de abril de 2014 12:52

Todas as Respostas

  • Olá não seria essa duvida desse thread ! Veja se esse thread lhe ajuda !

    Não deu certo ? Qual seria a duvida !


    segunda-feira, 7 de abril de 2014 19:06
  • parceiro deu certo mais mim apareceu um erro depois de alguns dias q eu fui ver 

    o codigo do botão é

       foreach (DataGridViewRow item in dataGridView1.Rows)
                {
                    if((string)item.Cells[0].Value == "DANIEL")
                    {
                        for (int i = 0; i < dataGridView1.Columns.Count; i++)
                        {
                            if (i > 0)
                            {
                                dataGridView2.Rows.Add(item.Cells[0].Value,
                                                       item.Cells[i].Value,
                                                       item.Cells[i].Value);
                            }
                        }       
                    }
                }
    
                
            }
    
            class Tempo
            {
                public string Nome { get; set; }
                public DateTime data { get; set; }
                public int titulo1 { get; set; }
                public int titulo2 { get; set; }
                public int titulo3 { get; set; } 
            }

    so que so consigo passar as 3 primeira colunas e meu projeto tem bem umas 24 entende?

    como seria pra eu passa todas?



    segunda-feira, 7 de abril de 2014 19:16
  • Quando vc diz passar 3 colunas, as otras 20 colunas seria na linha debaixo ou uma coluna nova ?
    segunda-feira, 7 de abril de 2014 19:25
  • olha o codigo q vc mim passo so consegui passa as primeiras três colunas do primeiro "ROW"

    no codigo q vc mim passo fica assim

    observe q so passa as 3 primeiras teria que fica assim...

    aguardo...


    segunda-feira, 7 de abril de 2014 20:07
  • Estou sem o projeto agora, vou testar depois e lhe retorno.
    segunda-feira, 7 de abril de 2014 20:18
  • ok fico no aguardo...
    segunda-feira, 7 de abril de 2014 20:29
  • Olá, analisando  melhor, o que você deseja seria por ex se tem 20 colunas na grid 1, ao passar para a grid dois fica as 20 colunas com todos os dados que contém o mesmo nome ?
    terça-feira, 8 de abril de 2014 00:13
  • não! seria conforme a imagem a baixo ficaria 11 colunas no datagrid1 e no datagrid2 ficaria 5 conforme a imagem...

    Aguardo...


    terça-feira, 8 de abril de 2014 12:29
  • Olá, não testei mas isso é somente questão de lógica talvez seja por ai fiz baseado no outro link da duvida anterior :

    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;
    
    namespace TesteDataSet
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
    
                dataGridView2.Columns.Add("Nome", "Nome");
                dataGridView2.Columns.Add("Emissao", "Emissao");
                dataGridView2.Columns.Add("Titulo", "Titulo");
                dataGridView2.Columns.Add("Vencimento", "Vencimento");
                dataGridView2.Columns.Add("Valores", "Valores");
    
                var list = new List<Tempo>();
    
                for (int i = 0; i < 5; i++)
                {
                    list.Add(new Tempo
                    {
                        Nome = "DANIEL",
                        Emissao = DateTime.Now.ToString(),
                        titulo1 = i,
                        titulo2 = 200 + i,
                        titulo3 = 300 + i,
                        valor1 = 1000 + i,
                        valor2 = 1000 + i,
                        valor3 = 1000 + i
                    });
                }
    
                list.Add(new Tempo
                {
                    Nome = "JOAO",
                    Emissao = DateTime.Now.ToString(),
                    titulo1 = 100,
                    titulo2 = 200,
                    titulo3 = 300,
                    valor1 = 1000,
                    valor2 = 1000,
                    valor3 = 1000
                });
    
                list.Add(new Tempo
                {
                    Nome = "TESTE",
                    Emissao = DateTime.Now.ToString(),
                    titulo1 = 100,
                    titulo2 = 200,
                    titulo3 = 300,
                    valor1 = 1000,
                    valor2 = 1000,
                    valor3 = 1000
                });
                dataGridView1.DataSource = list;
    
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                foreach (DataGridViewRow item in dataGridView1.Rows)
                {
                    if ((string)item.Cells[0].Value == "DANIEL")
                    {
    
                        dataGridView2.Rows.Add(item.Cells[0].Value,
                                               item.Cells[1].Value,
                                               item.Cells[2].Value,
                                               item.Cells[3].Value,
                                               item.Cells[4].Value);
    
                    }
                }
    
                foreach (DataGridViewRow item in dataGridView1.Rows)
                {
                    if ((string)item.Cells[0].Value == "DANIEL")
                    {
    
                        dataGridView2.Rows.Add(item.Cells[0].Value,
                                               item.Cells[1].Value,
                                               item.Cells[5].Value,
                                               item.Cells[6].Value,
                                               item.Cells[7].Value);
    
                    }
                }
    
            }
    
            class Tempo
            {
                public string Nome { get; set; }
                public string Emissao { get; set; }
                public int titulo1 { get; set; }
                public int vencimento1 { get; set; }
                public int valor1 { get; set; }
                public int titulo2 { get; set; }
                public int vencimento2 { get; set; }
                public int valor2 { get; set; }
                public int titulo3 { get; set; }
                public int vencimento3 { get; set; }
                public int valor3 { get; set; }
            }
    
        }
    }

    • Marcado como Resposta Rhael_Andrade terça-feira, 8 de abril de 2014 13:30
    terça-feira, 8 de abril de 2014 12:52
  • Aparentemente acho que deu certo quando estiver em casa testo melhor estou na empresa mais valeu ai parceiro ajudou muito brigadão..

    Valeu...

    terça-feira, 8 de abril de 2014 13:04