none
Como passar valores de um datagrid de um form para o datagrid de outro form já aberto RRS feed

  • Discussão Geral

  • Olá pessoal, estou com um problema no meu projeto: Eu tenho um form Compras, e nele tenho um botão para adicionar um novo item no datagrid que existe nesse mesmo formulário, quando eu clico no botão abre-se outro form, e nele tenho outro datagrid que puxa todos os produtos cadastrados, e quando eu dou dois cliques em uma linha do datagrid ele deveria passar os valores da linha que foi clicada para o datagrid do form Compras, mas eu não consigo mexer em um datagrid de outro form, ainda mais porque eu já tenho esse form aberto, porque senão eu só criava um construtor no form de Compras e passava tudo por parametros.

    Bom, eu tentei de algumas formas, pesquisei e tudo mais e ainda não consegui resolver meu problema, se alguém puder me ajudar eu ficaria agradecido.

    • Tipo Alterado Marcos SJ segunda-feira, 14 de dezembro de 2015 12:57 Todas as threads "How to" serão modificadas para discussão geral
    sexta-feira, 11 de dezembro de 2015 12:06

Todas as Respostas

  • Bom dia Johann Lucas Scherer

    Vamos padronizar alguns nomes primeiro 

    form Compras = frmCompras

    form produtos cadastrados = frmProdutos

    Vamos supor que você deseja obter os dados do produto Id e Descrição que estão no frmProdutos

    no frmProdutos declare 2 variáveis 

    public int IdProduto;
    public string Descricao;

    No botão que chama o frmProdutos chame conforme abaixo:

    frmProdutos f = new frmProdutos();
    f.ShowDialog();
    txtId.Text = f.IdProduto;
    txtDescricao.Text = f.Descricao;

    No seu grid frmProdutos:

    DataGridViewRow row = this.NomeLista.SelectedRows[0];
    IdProduto = (Int32)NomeLista.SelectedRows[0].Cells[0].Value;
    Descricao = NomeLista.SelectedRows[0].Cells[1].Value.ToString();
    this.DialogResult = DialogResult.OK;
    this.Close();



    Daniel Ribeiro Arrais Consultor Sênior www.scrumbrasil.com.br



    • Editado Daniel R. Arrais segunda-feira, 28 de dezembro de 2015 12:52 erro digitação
    segunda-feira, 28 de dezembro de 2015 12:50