ADICIONAR UMA LINHA DATAGRIDVIEW BIDINGSORCE

MRSILVA 03/11/2017 18:44:37
#477581
Olá.
Pessoal preciso de uma ajuda para adicionar uma nova linha em um dataGridView que está vinculado em um BidingSorce.

Tenho um formulário (Pai) Fornecedores que tem um dataGrid (filho) que pode conter vários endereços, preciso adicionar um novo registro no DataGrid referente o registro Pai atual.

Minha classe fornecedor tem uma lista de endereços

O formulário está funcionando perfeitamente quando eu manualmente acesso o dataGrid e preencho as células, ou seja cria a linha automaticamente, só que preciso criar uma linha em branco via código não estou conseguindo.

Tentei de varias formas uma delas foi conforme abaixo:

((Fornecedor)dados.Current).enderecos.Add(new Endereco());



Partes do código referente a vinculação.

List<Fornecedor> listaFornecedor = Recebe informações do banco de dados
public BindingSource dados = new BindingSource();

dados.DataSource = listaFornecedor;

//Vinculação do dataGrid
dgvEndereco.DataMember = [Ô]enderecos[Ô];
dgvEndereco.DataSource = dados;


Fiz diversas pesquisas até encontrei esse tópico http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=461997, mas não consegui aplicar porque no meu caso preciso criar um registro filho.

Desde já agradeço a ajuda.
NOWLIGHTS 03/11/2017 23:18:08
#477587
Cara eu consegui fazendo dessa forma; Link

Mas utilizar um List<> e preencher manualmente a grid é melhor
MRSILVA 04/11/2017 01:35:09
#477591
Obrigado Magnan.

Trabalho com Entity Framework e o mesmo trabalha melhor com listas, não estou utilizando Datatable.
Meu BidingSorce está vinculado a uma lista.

Alguém pode me dar uma dica de como resolver isso, desde já agradeço.
MRSILVA 04/11/2017 11:48:53
#477593
Olá pessoal.

A resposta para meu problema já estava respondida nesse tópico que tinha mencionado.

Estava faltando somente desvinculara o dataGrid do BidingSorce e vincular novamente conforme abaixo:

((Fornecedor)dados.Current).enderecos.Add(new Endereco());
dgvEndereco.DataMember= [Ô][Ô];
dgvEndereco.DataSource = [Ô][Ô];
dgvEndereco.DataSource = dados;
dgvEndereco.DataMember = [Ô]enderecos[Ô];

Vou deixar o tópico aberto mais um tempo caso alguém tenha uma solução melhor.
Desde já agradeço.
Tópico encerrado , respostas não são mais permitidas