none
Limpar seleção do gridView RRS feed

  • Pergunta

  • Boa tarde, pessoal.

    Alguém sabe como fazer para que quando carregue o form, o gridview não carregue já selecionado a 1ª linha?
    Mesmo setando o focu em um botão ao carregar o form ou chamando o método .ClearSelection() do grid, acaba sempre iniciando com o grid selecionado.

    Para preencher o grid, estou apenas chamando um método pelo evento Load do form:

    public void ListaAparelho()
    {
       AparelhoBLL objAparelho = new AparelhoBLL();
     
       bdsAparelho.DataSource = objAparelho.Listagem();

       grdAparelho.DataSource = bdsAparelho;
    }

    quarta-feira, 28 de janeiro de 2009 20:05

Todas as Respostas

  •  

    Boa tarde!

     

    Testei com o .ClearSelection(); e funcionou normalmente

    tente colocar ele em outro evento como por exemplo o Shown

    pois aqui funcionou corretamente, atribui valores ao grid e logo apos utilizei o metodo .ClearSelection();

    verifique se nao possui nenhum metodo selecionando um item do grid ou algo do tipo

     

     

    Espero ter ajudado!

    quarta-feira, 28 de janeiro de 2009 20:34
  •  

     

    Olá Pessoal!

     

     

    Segue um link abordando GridView e suas particularidades, características:

     

    Explorando o GridView
    http://www.projetando.net/Sections/ViewArticle.aspx?ArticleID=43

     

    Abraço,
    quinta-feira, 29 de janeiro de 2009 10:59
  • Mas você fez o teste utilizando o BindingSource para preencher o grid?

     

    Pior que não tem nenhum método, pois só utilizo apenas essas 3 linhas para preencher o grid e nisso ele dispara o evento CellEnter() do grid, que verifica apenas se existe alguma linha selecionada e ativa os botões do form.

    Imaginei que podia ser esse evento, mas eu comentei e mesmo assim continua com o mesmo problema.

    Isso acontece apenas quando carrega o form, pois quando vou adicionar um nova linha ou excluir, o .ClearSelection() funciona.

     

    Para solucionar fiz como você me falou, acabei colocando no evento Show do form o .ClearSelection() e com isso funcionou!

    quinta-feira, 29 de janeiro de 2009 12:09
  •  

    Olá Marcelo,

     

     

    Segue um link que também aborda grids, acho que pode ajudar, não sei se para o teu caso agora, deve ter algo semelhante, se não for, guarde o link para outra situação:

     

    problemas ao Filtrar datagridview visual c#

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=4314489&SiteID=21

     

    Qualquer coisa, você pode postar o código para analisarmos melhor.

     

    Desculpa se não consegui achar ainda o que precisa... vou tentar  mais um pouco, pesquisando na web, se eu encontrar irei postar aqui, vlw?

     

    Abraço,

    quinta-feira, 29 de janeiro de 2009 12:19
  • Olá Magno.

     

    Obrigado pela ajuda, mas é que no meu caso é algo especifico do DGV em C#. Acredito que você não irá encontrar nesses artigos ou tutoriais.

    Talvez seja apenas uma propriedade que tenho que configurar.

    O outro link que você me passou é para ASP.NET.

    quinta-feira, 29 de janeiro de 2009 12:44
  • Segue abaixo o codigo que utilizei para teste no evento Load do form

    trans = new Transportadora();

    grdTransport.DataSource = trans.ConsultarTransportadora().Tables[0];

    btnExcluir.Enabled = false;

    btnAlterar.Enabled = false;

    grdTransport.ClearSelection();

     

    Testei o ClearSelection() tanto no evento load quanto no Shown, e funcionaram, provavelmente que  algum evento esta fazendo com que nao chegue a executar o metodo ClearSelection(); ou  algum evento esta fazenu com que selecione a linha do grid

     

    Espero ter ajudado!

    quinta-feira, 29 de janeiro de 2009 13:07
  • Marcelo,

     

       Em versões anteriores do framework .NET (1.1 e 2.0), tive esse mesmo problema com alguns controles como listview, gridview entre outros. Após alguns testes descobri que se estes controles fossem ligados a uma fonte de dados via DataSource eu não conseguia desfazer a seleção. Porem se você adicionar os itens manualmente você consegue desfazer a seleção.

     

    At.,

    Bruno

    quinta-feira, 29 de janeiro de 2009 17:51
  •  

     

    Salve Pessoal ! 

     

    Segue o que encontrei referente a DataGriView, bastante referência de conteúdo:

     

    Manipular datagridview

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=4320620&SiteID=21

     

     

     

    Segue um tópico que possui diversos links que podem ser bem úteis para a implementação de DataGridView:

     

    como preencher um datagridview (muitas referências neste tópico)

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=4327661&SiteID=21

     

     

    Abraço e bons estudos!

    quinta-feira, 29 de janeiro de 2009 18:04
  • Então Rogers, fiz a mesma coisa que você, exceto pelo fato de utilizar o bindingSource como fonte de dados.

    Talvez a causa seja o bindingSource, já que o Bruno tb já teve problema semelhante.

    O jeito vai ser executar o ClearSelection() no evento Show, é o único jeito para funcionar aqui, no Load não tem como para mim:

    Code Snippet

    private void AparelhoForm_Load(object sender, EventArgs e)

    {

           AparelhoBLL objAparelho = new AparelhoBLL();

           bdsAparelho.DataSource = objAparelho.Listagem();

           grdAparelho.DataSource = bdsAparelho;

           grdAparelho.ClearSelection();

    }

     

    Obs.: Só para saberem, estou utilizando o VS2005 - framework 2.0

    quinta-feira, 29 de janeiro de 2009 19:07