UTILIZANDO BINDINGSOURCE COM BINDINGNAVIGATOR

PERCIFILHO 01/07/2016 10:33:14
#464377
Bom dia amigos!!! Saudações e paz para vocês;
Estou tentando fazer o seguinte:
Em um Form, eu tenho dois TextBoxes: txtCodigo e txtNome; estou vinculando os dados através do BindingSource preenchendo um BindingList<> com os objetos da classe.
Neste Form eu tenho um BindingNavigator onde vinculo os dados retornados do BindingSource;
Assim, consigo navegar entre os registros; Tenho esse código:
// iniciando o DataSource
BindingSource dados = new BindingSource();
// preenchendo a List<>
BindingList<Classe> _lista = new BindingList<Classe>(new Classe())
dados.DataSource = _lista;

txtCodigo.DataBindings.Add([Ô]text[Ô], dados, [Ô]Id[Ô]);
txtNome.DataBindings.Add([Ô]text[Ô], dados, [Ô]Nome[Ô]);

// associando os dados ao BindingNavigator
nav.BindingSource = dados;


Se eu clicar em um botão para incluir um registro, ele me dá o próximo registro em branco e coloca no txtCodigo; Só que assim, só dá certo se ninguém mais for incluir, porque se outro usuário for incluir um registro na mesma tabela, ocorrerá erro de duplicidade. Gostaria de incluir somente quando fosse clicar no botão Salvar;
Sei que existem três métodos para inclusão: dados.Add(), dados.AddNew() e dados.AddingNew().
Qual deveria utilizar? E como faria para incluir os dados somente depois de clicar no botão Salvar, aí pegaria o próximo registro em branco para poder gravar na tabela?
Agradeço a ajuda de todos;
PERCIFILHO 01/07/2016 13:45:22
#464389
Bom, consegui gravar os dados na tabela, corretamente, agora estou com um outro probleminha.
Eis aqui o projeto para vocês darem uma olhada (está incompleto ainda, falta coisas a implementar).
Reparem que a navegação ocorre normalmente quando eu abro o form. Porém quando incluo um registro, ele até grava no BD, porém a navegação fica incorreta;
Se alguém puder me orientar onde estou errando, agradeço.
KERPLUNK 01/07/2016 16:38:26
#464393
Resposta escolhida
Depois de gravar, basta ir para o primeiro registro:

dados.MoveFirst();
Tópico encerrado , respostas não são mais permitidas