none
Como abrir um datagridview clicando em uma informação de outro datagridview? RRS feed

  • Pergunta

  • Por exemplo:

    É o seguinte: após fazer o cadastro do pedido, deverá aparecer no datagridview o 'nome' da pessoa(que será preenchido no cadastro do pedido) e quando eu clicar no nome da pessoa, deverá abrir outro datagridview com todas as informações que foram preenchidas... Pelo o que eu vi, faz-se isso com select, mas não sei usar. Como faço? Aonde coloco esse código?

    segunda-feira, 28 de outubro de 2013 20:48

Respostas

  • Assim:

    Procure o Evento do DataGridView

    if (e.RowIndex > -1 && e.ColumnIndex > -1)
    {
    	int Id = 0;
    	if (int.TryParse(GridViewPeople.Rows[e.RowIndex].Cells[0].Value.ToString(), out Id))
    	{
    		FrmPeopleUpdate frm = new FrmPeopleUpdate(Id);
    		frm.ShowDialog();
    		if (frm.OnChangeUpdate)
    		{
    			Call_Grid();
    		}
    		frm.Dispose();                    
    	}
    }

    Perceba que eu pega o e.RowIndex Selecionado e pega a Cells[0] que seria a coluna do codigo da pessoa! ( eu escondi o codigo colocando o coluna com o menor tamanho então só aparece o nome).

    Crie um Construtor com paramentro no FrmPeopleUpdate e passa o Id por ele! assim

    protected int GetId { get; set; }
    public FrmPeopleUpdate()
    {
    	InitializeComponent();
    	GetId = 0;	
    }
    
    public FrmPeopleUpdate(int Id)
    {
    	InitializeComponent();
    	GetId = Id;	
    }

    E no Form_Load desse mesmo eu confiro se o GetId é > 0 ai eu exibo os dados!

    assim

    private void FrmPeopleUpdate_Load(object sender, EventArgs e)
    {
    	if (GetId > 0)
    	{
    		//com esse código e gero o grid com todos os dados
    	}
    	CmbPhoneType.BackColor = Color.White;
    }


    Fúlvio Cezar Canducci Dias



    segunda-feira, 28 de outubro de 2013 23:07
  • O código é um exemplo amigo, exemplo!

    se tem que adequar ao seu código!!!


    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr quinta-feira, 31 de outubro de 2013 13:07
    segunda-feira, 28 de outubro de 2013 23:51

Todas as Respostas

  • Assim:

    Procure o Evento do DataGridView

    if (e.RowIndex > -1 && e.ColumnIndex > -1)
    {
    	int Id = 0;
    	if (int.TryParse(GridViewPeople.Rows[e.RowIndex].Cells[0].Value.ToString(), out Id))
    	{
    		FrmPeopleUpdate frm = new FrmPeopleUpdate(Id);
    		frm.ShowDialog();
    		if (frm.OnChangeUpdate)
    		{
    			Call_Grid();
    		}
    		frm.Dispose();                    
    	}
    }

    Perceba que eu pega o e.RowIndex Selecionado e pega a Cells[0] que seria a coluna do codigo da pessoa! ( eu escondi o codigo colocando o coluna com o menor tamanho então só aparece o nome).

    Crie um Construtor com paramentro no FrmPeopleUpdate e passa o Id por ele! assim

    protected int GetId { get; set; }
    public FrmPeopleUpdate()
    {
    	InitializeComponent();
    	GetId = 0;	
    }
    
    public FrmPeopleUpdate(int Id)
    {
    	InitializeComponent();
    	GetId = Id;	
    }

    E no Form_Load desse mesmo eu confiro se o GetId é > 0 ai eu exibo os dados!

    assim

    private void FrmPeopleUpdate_Load(object sender, EventArgs e)
    {
    	if (GetId > 0)
    	{
    		//com esse código e gero o grid com todos os dados
    	}
    	CmbPhoneType.BackColor = Color.White;
    }


    Fúlvio Cezar Canducci Dias



    segunda-feira, 28 de outubro de 2013 23:07
  • Coloquei os códigos lá e apareceu 3 erros:

    Error 1 The name 'CmbPhoneType' does not exist in the current context C:\Users\CLAUDIO\Documents\Programacao\Programas\Vendas\Vendas\FrmPeopleUpdate.cs 34 13 Vendas

    Error 2 'Vendas.FrmPeopleUpdate' does not contain a definition for 'OnChangeUpdate' and no extension method 'OnChangeUpdate' accepting a first argument of type 'Vendas.FrmPeopleUpdate' could be found (are you missing a using directive or an assembly reference?) C:\Users\CLAUDIO\Documents\Programacao\Programas\Vendas\Vendas\caixa.cs 45 29 Vendas

    Error 3 The name 'Call_Grid' does not exist in the current context C:\Users\CLAUDIO\Documents\Programacao\Programas\Vendas\Vendas\caixa.cs 47 25 Vendas

    segunda-feira, 28 de outubro de 2013 23:48
  • O código é um exemplo amigo, exemplo!

    se tem que adequar ao seu código!!!


    Fúlvio Cezar Canducci Dias

    • Marcado como Resposta Giovani Cr quinta-feira, 31 de outubro de 2013 13:07
    segunda-feira, 28 de outubro de 2013 23:51