Utilizando DataGrid View como tabela temporária
Boa noite.
Como comentei anteriormente estou desenvolvendo um projeto que visa
controlar ordens de serviço, atualmente esse projeto se encontra em fase
de finalização, porém cheguei em um ponto o qual não sei por onde
iniciar,
a situação é a seguinte:
Estou no form que fecha a Ordem de serviço, e nesse form preciso
adcionar ao BD os itens(peças) que vou utilizar nessa OS como se fosse
um carrinho de compras, eu pensei em criar uma tabela temporária
utilizando um datagridview e a quantidade
e a peça que eu digitasse em textbox's fossem para esse datagrid e
depois que a operação fosse terminada ai sim adcionar tudo na tabela de
verdade. Minha dúvida é se o datagridview é a melhor opção para
essa situação e de que forma eu estaria realizando essas adições. estou
utilizando windows Form e o Bd em access, desde já expresso minha
gratidão pelo forum.
Sérgio Pereira
Curtidas 0
Respostas
Nilson Souza
19/06/2010
Caro Sérgio,
Utilizar um DataGridView é uma solução válida. Inclusive se o mesmo for apresentado na tela, refletindo a informação do usuário a cada item inserido.
Também estou iniciando com C#, e abaixo vou lhe informar a técnica que utilizei. Mas já lhe adianto que não sei se é a melhor. Porém, pode lhe ajudar, e funciona.
Digamos que o Grid conterá três colunas: Item, Descricao e Quantidade
1 - Crie um DataSet não tipado em seu form (vou chamar o DataSet de dsOS);
2 - Pelo VS, adicione ao DataSet uma Tabela e, para a mesma, adicione as três colunas acima;
3 - No código, crie um método que será chamado quando o usuário tiver informado os três campos no formulário (vou chamar InsereItemGrid());
Abaixo o código comentado:
4 - Faça uma chamada do método acima a partir do evento Click do Button que você criou para o formulário.
Depois você pode percorrer o DataGridView para gravar sua tabela no banco de dados.
Espero ter ajudado. Se tiver alguma dúvida, favor postar. Como disse, também estou iniciando com C# e não sei se a técnica acima é a ideal, mas para minha aplicação está funcionando sem qualquer problema.
O que aprendi foi com a ajuda deste Site, as revistas e as video-aulas que a equipe da Devmedia preparou.
Um abraço a você e a todos os que me auxiliaram e continuam auxiliando.
Utilizar um DataGridView é uma solução válida. Inclusive se o mesmo for apresentado na tela, refletindo a informação do usuário a cada item inserido.
Também estou iniciando com C#, e abaixo vou lhe informar a técnica que utilizei. Mas já lhe adianto que não sei se é a melhor. Porém, pode lhe ajudar, e funciona.
Digamos que o Grid conterá três colunas: Item, Descricao e Quantidade
1 - Crie um DataSet não tipado em seu form (vou chamar o DataSet de dsOS);
2 - Pelo VS, adicione ao DataSet uma Tabela e, para a mesma, adicione as três colunas acima;
3 - No código, crie um método que será chamado quando o usuário tiver informado os três campos no formulário (vou chamar InsereItemGrid());
Abaixo o código comentado:
private void InsereItemGrid() { //Esse método é opcional. Você deve codificá-lo para testar se os dados informados são válidos if (!ValidaFormularioEquipamento()) { return; } //Essa variável armazenará o conteúdo do formulário e será utilizada para a inclusão dos dados na tabela do DataSet object[] ValoresColunas = new object[3]; ValoresColunas[0] = int.Parse(txtItem.Text); ValoresColunas[1] = long.Parse(txtDescricao.Text); ValoresColunas[2] = int.Parse(txtQuantidade.Text); //Cria uma nova linha DataRow row = dsOS.Tables[0].NewRow(); //Insere o conteúdo do formulário row.ItemArray = ValoresColunas; //Adiciona a linha com conteúdo na tabela do DataSet dsEquipamentos.Tables[0].Rows.Add(row); //Essa linha também é opicional. Serve para limpar o conteúdo digitado, já que o mesmo consta no Grid this.LimpaCamposForm(); //Esse comando limpa a seleção do Grid dataGridView1.ClearSelection(); } }
4 - Faça uma chamada do método acima a partir do evento Click do Button que você criou para o formulário.
Depois você pode percorrer o DataGridView para gravar sua tabela no banco de dados.
Espero ter ajudado. Se tiver alguma dúvida, favor postar. Como disse, também estou iniciando com C# e não sei se a técnica acima é a ideal, mas para minha aplicação está funcionando sem qualquer problema.
O que aprendi foi com a ajuda deste Site, as revistas e as video-aulas que a equipe da Devmedia preparou.
Um abraço a você e a todos os que me auxiliaram e continuam auxiliando.
GOSTEI 0
Sérgio Pereira
19/06/2010
Grato pela atenção e pelo tempo cedido Nilson
GOSTEI 0