[quote=Rodrigo1895]Tenho um formulário de vendas. Tenho um DataGridView que quero que jogue todos os produtos que a pessoa for comprar dentro dele.
Mas quero que quando clicar no botao “adicionar produto a venda”, abra um novo formúlario que liste todos os produtos em estoque em um DataGridView tambem e tenho um campo para pesquisar o produto por codido ou nome, ai é só selecionar ou dar dois cliques no produto desejado e jogar no DataGridView do formlário de vendas.
Como faço para quando escolher o produto na lista, ele ser inserido no DataGridView do outro formulário de vendas?[/quote]
Opa, Rodrigo1895, beleza?
Vamos com calma, muita calma, hahaha.
Para você preencher um DataGridView com conteúdo, você faz uso da propriedade DataSource.gridview.DataSource = dados;
Como você quer preenchê-lo com uma lista de produtos que a pessoa pode comprar, você carrega essa coleção e adiciona ao DataGridView.IList<Produto> produtos = new List<Produto>() {
new Produto(1, "Produto 1"),
new Produto(2, "Produto 2"),
new Produto(3, "Produto 3")
};
gridview.DataSource = produtos;
Atenção: o DataGridView possui uma propriedade chamada AutoGenerateColumns. O seu valor default é true. Com isso, se você joga aquela coleção acima na GridView, ela gera as colunas de acordo com as propriedades existentes no seu objeto. Caso você queira gerar as suas próprias colunas, mostrando somente os dados que você quiser, você seta aquela propriedade para false e usa o editor da GridView para colocar as colunas ao seu bel prazer.
[quote=Rodrigo1895]Mas quero que quando clicar no botao “adicionar produto a venda”, abra um novo formúlario que liste todos os produtos em estoque em um DataGridView tambem e tenho um campo para pesquisar o produto por codido ou nome, ai é só selecionar ou dar dois cliques no produto desejado e jogar no DataGridView do formlário de vendas.
Como faço para quando escolher o produto na lista, ele ser inserido no DataGridView do outro formulário de vendas?[/quote]
Novamente, você faz igual ao passo acima para preencher a sua GridView. Para adicionar registros na GridView, existem dois modos:
-
Usar o método AddRow da propriedade Rows: você cria um objeto DataGridViewRow, preenche os dados de acordo com as colunas que você possui e chama o método Add da propriedade Rows
DataGridViewRow row = new DataGridViewRow();
row[0].Value = "4";
row[1].Value = "Produto 4";
gridview.Rows.Add(row);
-
Recarregar a coleção da GridView: você adiciona o objeto no banco de dados, carrega a coleção novamente e faz uso do DataSource. Eu, particularmente, só uso esse.
Para a sua pesquisa, você pode seguir os passos acima: faça uma busca com o texto a procurar e carregue a nova coleção na GridView. Para pegar o registro selecionado, há os eventos SelectedRowChanged (acho que é assim mesmo), o CellClick e o DoubleCellClick. Dê uma olhada no comportamento destes e veja qual soluciona.
Espero ter ajudado, cara,
fique com Deus! ![:smiley: :smiley:](//www.guj.com.br/images/emoji/twitter/smiley.png?v=5)