none
DataGridView? ... RRS feed

  • Pergunta

  • Primeira parte: Tenho um DataGridView que tem: NOME DO CLIENTE | NOME DO PRODUTO | QUANTIDADE | PREÇO UNITÁRIO

    Segunda parte: E tem que ter outra DataGridView que irá mostrar esses registros. SÓ QUE tem que aparecer um registro por 'NOME DO CLIENTE' onde ao clicar em cima, irá abrir um form que haverá outro DataGridView com todas as informações(NOME DO CLIENTE | NOME DO PRODUTO | QUANTIDADE | PREÇO UNITÁRIO)

    Como faço a segunda parte? POR FAVOR, me ajudem... estou precisando muito, obrigado

    segunda-feira, 28 de outubro de 2013 22:21

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:06