Utilizando DataGrid View como tabela temporária
19/06/2010
0
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
Curtir tópico
+ 0
Responder
Posts
22/06/2010
Nilson Souza
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.
Responder
Clique aqui para fazer login e interagir na Comunidade :)