none
Recuperar últimos valores datagridview RRS feed

  • 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? 

    terça-feira, 30 de setembro de 2014 11:57

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

    terça-feira, 30 de setembro de 2014 16:57
  • 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.

    terça-feira, 30 de setembro de 2014 17:02

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.

    terça-feira, 30 de setembro de 2014 14:33
  • 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
    terça-feira, 30 de setembro de 2014 14:42
  • 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?

    terça-feira, 30 de setembro de 2014 16:45
  • 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

    terça-feira, 30 de setembro de 2014 16:57
  • 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.

    terça-feira, 30 de setembro de 2014 17:02