none
Dúvidas com datagridView RRS feed

  • Pergunta

  • Olá, pessoal.

    Estou realizando meu primeiro aplicativo em C# e estou com uma dúvida.

    É um cadastro de clientes e, quando faço a inserção de dados, gostaria de mostrar em DataGridView apenas

    os últimos dados inseridos e não a tabela completa do banco de dados.

     

    Como posso fazer isto?

    Obrigada!!

    quinta-feira, 19 de agosto de 2010 00:16

Todas as Respostas

  • Olá, pessoal.

    Estou realizando meu primeiro aplicativo em C# e estou com uma dúvida.

    É um cadastro de clientes e, quando faço a inserção de dados, gostaria de mostrar em DataGridView apenas

    os últimos dados inseridos e não a tabela completa do banco de dados.

     

    Como posso fazer isto?

    Obrigada!!

    quinta-feira, 19 de agosto de 2010 00:14
  • Louisse,

    Neste caso, você pode fazer o seu select ordenando de forma decrescente por um campo de data da sua tabela.

    Depois, quando você fizer o Fill do seu DataSet, passa o StartRecord como 0 e o MaxRecords como o número de registros que você quer mostrar.

    at.,


    Rogério de Resende Ohashi | Ohashi.NET (.NET, Security, C#, WinForms, WCF, Workflow, Azure, Windows Phone, Mono)
    quinta-feira, 19 de agosto de 2010 00:50
    Moderador
  • Só uma duvida, vc quer mostrar os ultimos dados inseridos apenas do usuario logado, ou os ultimos dados inseridos de todos os usuarios ?

    Por exemplo se 2 pessoas inserem cada uma um usuario... ambas vao ver os dados referentes aos 2 usuarios cadastrados ou cada um vai ver apenas o seu usuario cadastrado ?

    Se for so os usuarios cadastrados pelo proprio usuario... cria um DataTable para adicionar os dados cadastrados caso a operação de inclusão tenha sido realizada com sucesso e mostra e seta essa DataTable no DataSource do DataGrid

    Se for de todos os usuarios, vai ser presciso fazer uma consulta ao banco e que nele tenha um campo informando a data do cadastro...


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    quinta-feira, 19 de agosto de 2010 01:17
    Moderador
  • Post Duplicado.... respondido em:

    http://social.msdn.microsoft.com/Forums/pt-BR/mobilidadept/thread/2f59693e-1841-4f62-b84b-64f2f08e0cd4

    Só uma duvida, vc quer mostrar os ultimos dados inseridos apenas do usuario logado, ou os ultimos dados inseridos de todos os usuarios ?

    Por exemplo se 2 pessoas inserem cada uma um usuario... ambas vao ver os dados referentes aos 2 usuarios cadastrados ou cada um vai ver apenas o seu usuario cadastrado ?

    Se for so os usuarios cadastrados pelo proprio usuario... cria um DataTable para adicionar os dados cadastrados caso a operação de inclusão tenha sido realizada com sucesso e mostra e seta essa DataTable no DataSource do DataGrid

    Se for de todos os usuarios, vai ser presciso fazer uma consulta ao banco e que nele tenha um campo informando a data do cadastro...


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    quinta-feira, 19 de agosto de 2010 01:18
    Moderador
  • Loisse,

    Vamos confirmar um detalhe primeiro... Você está trabalhando com aplicações para smart device ou windows forms?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quinta-feira, 19 de agosto de 2010 11:49
    Moderador
  • Boa pergunta, Rui.

    É uma aplicação do tipo cliente-servidor desktop.

    Quero mostrar os dados independente do usuário. Assim como vc exemplificou:

    se duas estiverem usando o aplicativo, ambas vão ver o que foi adcionado.

    Os usuários usarão a mesma conta. É um sistema offline.

    quinta-feira, 19 de agosto de 2010 17:08
  • Olá, André. Estou trabalhando com aplicações windows forms.
    quinta-feira, 19 de agosto de 2010 17:08
  • Olá Loisse,
    Não sei se já resolveu, vc poderia usar o "select top", por exemplo, se vc precisa mostrar os 10 últimos registros vc usaria   

     select top 10 * from tabela order by data desc

     

    Sua dúvida é só na query? vc está conseguindo preecher o gridview?

    Att.
    Anderson

    quinta-feira, 19 de agosto de 2010 22:48
  • So o top 10 não é suficiente.... entendo q a ideia é trazer todas as inclusoes desde o momento do ultimo login... algo  tipo facebook certo ?

    como é a sua camada de acesso aos dados ? (vc se conecta direto ao banco de dados ou via um WebService)

    Qual é a base de dados ? SQL Server 2000, 2005 ou 2008 ?

     

    Imagniando que vc se conecte diretamente no banco e use um SQL superior a versao 2005... usando o Settings vc pode criar uma variavel com o numero do ROW_NUMBER do banco de dados no qual aquele terminal acessou da ultima vez.... isso é

    Na primeira execução do sistema a variavel (que vou chamar de UltimoRegistro) começa com 0.... entao vc traria todos os registros do banco onde o ROW_NUMBER() > 0, e grava no UltimoRegistro o valor do Maior ROW_NUMBER().....

    Com um Timer, de x em x segundo vc consulta tudo que tiver no banco com um ROW_NUMBER() > UltimoRegistro, e novamente atualiza o valor de UltimoRegistro... o mesmo vale quando vc fizer uma inclusao.... ai nao prescisa esperar pelo timer....

    Desta forma cada terminal vai controlar quais foram as ultimas inclusoes desde a ultima consulta....

     


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    quinta-feira, 19 de agosto de 2010 23:35
    Moderador
  • Oi, Rui. Acesso banco diretamente. Uso o Access.

    É uma aplicação para a faculdade, estou começando a programar agora.

     

    Ainta tenho muitas dúvidas.. hehehe.. vamos ver se consigo solucionar esta.

    :)

    sexta-feira, 20 de agosto de 2010 20:38
  • Ok... vamos começar denovo...

    Oi tudo bem com vc ???

    Vc tem uma aplicação em Windows Forms... que acessa um Access.... esse access esta numa maquina e é acessado por todos os clients Windows Forms... ou cada "exe" acessa o seu access...

    Fora isso como vc acessa os dados ? via OleDbConnection ou esta usando um DataSource (no caso do DataSource tem como vc tirar o historico das movimentações locais... so não lembro agora como pq faz muito tempo q nao uso)


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    sexta-feira, 20 de agosto de 2010 21:24
    Moderador
  • Bom dia!,

    Na verdade o DataGridView  e apenas um controle  de visualização de dados no qual você terá que preencher  o datasource do mesmo.Para isso você tera que primeiramente preencher um datatable para depois usar ele como datasource  para o DataGridView.

    segunda-feira, 23 de agosto de 2010 12:01
  • O Access está numa máquina que é acessada por todos os clients Windows forms.

     

    Acesso os dados via OleDbConnection.

    terça-feira, 24 de agosto de 2010 13:41
  • Boa noite!

    Você conseguiu preencher o DataGridView ?

     

    quarta-feira, 25 de agosto de 2010 01:50
  • Consegui sim, Joel.

    Até essa parte, tudo vai certo.

     

    quarta-feira, 25 de agosto de 2010 13:49
  • Outra pergunta (desculpa a demora)

    Vc grava a data da inclusão do registro no banco de dados ?


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    quarta-feira, 25 de agosto de 2010 22:52
    Moderador
  • Boa noite?

    Olha depende!

    Exemplo: cadastro de clientes seria interessante gravar, agora um cadastro de produto na minha opinião não é interessante.

    Não existe certo ou errado, depende para o que é a aplicação.

     

    quinta-feira, 26 de agosto de 2010 01:05
  • Boa noite?

    Olha depende!

    Exemplo: cadastro de clientes seria interessante gravar, agora um cadastro de produto na minha opinião não é interessante.

    Não existe certo ou errado, depende para o que é a aplicação.

     


    Joel... não é isso que estou discutindo... mas para realizar o que o Loisse está querendo fica mais facil se tiver a data de cadastro dos registros que ele quer mostrar apenas os incluidos... se ele não possuir então verifico outra forma

    To seguindo a linha de raciocinio para entender melhor o sistema dele a alguns posts acima... afinal é uma base de dados em Access (não da para usar o ROW_NUMBER) acessando pelo OleDbConnection (Não da para usar o cache de dados de um DataSet)...

    Como ele quer ver os registros incluidos (de todos os usuarios) desde que a tela foi aberta... (com atualizações em tempo real)... atraves de um filtro pela data e hora dos dados maiores que a data e hora de abertura de tela (caso ele tenha esse campo na base de dados) seria a solução mais facil...

     


    What would Brian Boitano do ?
    ((2B || !2B) is Question) ?
    There is no place like 127.0.0.1
    Só existem 10 tipos de pessoas no mundo... as que leem em binario e as outras...
    Se não da certo como voce esta fazendo... Tente fazer de um jeito totalmente diferente....
    quinta-feira, 26 de agosto de 2010 20:22
    Moderador
  • Olá,

    Novidades quanto a essa dúvida?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quinta-feira, 2 de setembro de 2010 22:57
    Moderador