Usuário com melhor resposta
Recuperar últimos valores datagridview

Pergunta
-
Olá galera, estou com o seguinte problema
Tenho um dois dgvs, no caso um para pesquisar o produto (linkado com um db do access) e o outro que mostra os produtos que forem sendo adicionados, queria saber como faço para quando eu fechar o form, ele não apagar os produtos que forem adicionados... Tem como?
Respostas
-
Cria uma classe estática, se tiver programando em c# cria uma classe assim:
public static class Classe { public static DataTable datatable = new DataTable(); }
Senão em VB vc cria um module:
Module Classe Public datatable As New DataTable End Module
então de qualquer parte do seu código vc acessa este datatable assim:
Classe.datatable.rows.add(dr)
Vc popula ele dessa forma, então quando fechar a tela, ele vai estar carregado, quando abrir a tela vc seta ele no datasource da grid, que os dados ainda vão estar la.
Espero que entenda...
Flw
- Sugerido como Resposta Marcus Paulo Augusto terça-feira, 30 de setembro de 2014 16:58
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34
-
Para criar um DataTable gobal, veja o exemplo abaixo e aplique no seu projeto:
public static class Globals { public static DataTable DT; }
Globals.DT = (DataTable)(MeuDataGridView.DataSource); // Aqui ficará salvo o resultado do seu DGV!
Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34
Todas as Respostas
-
Então cara, sem gravar no banco, vc pode criar um datatable global e adicionar esses itens neste datatable, deixe ele como shared(vb) ou static (c#) e vc acessa ela de qqr parte do código, então quando abrir a tela vc carrega ele na grid.
Agora se fechar o sistema não tem jeito sem gravar num banco....
Flw.
-
Olá,
Para não perder as informações do dataGridView, você poderá gravá-las no Banco de Dados quando o formulário for fechado, para isso, use o evento FORM_CLOSING !
E no FORM_LOAD, ou em qualquer Button_Click, chame o conteúdo que foi salvo no Banco de Dados para popular o dataGridView!
Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.
- Editado Alvesanderson terça-feira, 30 de setembro de 2014 14:44 Correção
-
Então... queria fazer sem bancos de dados mesmo
E não, não precisaria fechar o sistema, somente o FORM, criei isso pelo seguinte motivo, na hora de realizar a venda tenho o primeiro DGV que abre o campo de pesquisa, mostrando os detalhes do produto. Já no segundo DGV a baixo precisaria que ele fizesse um save "temporário" desses dados caso o usuário quisesse fechar o form pra cadastrar algum produto no meio da venda, na hora que ele voltasse ao form de vendas, continuasse os produtos adicionados de onde ele parou. No caso o código já faz isso, se eu fechar o form, ele continua a venda de onde parou, só não tô conseguindo continuar a visualização mesmo. Como funciona o datatable global? -
Cria uma classe estática, se tiver programando em c# cria uma classe assim:
public static class Classe { public static DataTable datatable = new DataTable(); }
Senão em VB vc cria um module:
Module Classe Public datatable As New DataTable End Module
então de qualquer parte do seu código vc acessa este datatable assim:
Classe.datatable.rows.add(dr)
Vc popula ele dessa forma, então quando fechar a tela, ele vai estar carregado, quando abrir a tela vc seta ele no datasource da grid, que os dados ainda vão estar la.
Espero que entenda...
Flw
- Sugerido como Resposta Marcus Paulo Augusto terça-feira, 30 de setembro de 2014 16:58
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34
-
Para criar um DataTable gobal, veja o exemplo abaixo e aplique no seu projeto:
public static class Globals { public static DataTable DT; }
Globals.DT = (DataTable)(MeuDataGridView.DataSource); // Aqui ficará salvo o resultado do seu DGV!
Se o meu conteúdo resolveu o seu problema ou sua dúvida, então marque como "Resposta", ou se foi útil, "Vote". Pois isso ajudará outras pessoas com o mesmo problema ou dúvida.
- Sugerido como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34
- Marcado como Resposta Ricardo Barbosa Cortes terça-feira, 30 de setembro de 2014 18:34