none
Problema na listagem com DataGridView RRS feed

  • Pergunta

  • Olá, estou tentando listar campos de uma tabela em um DataGridView dentro de uma aplicação Windows Forms, o banco que estou usando é o PostgreSQL. Criei a classe Conexão, a DAO, o método listar, verifiquei os atributos do Dgv porém ao carregar o Form os dados aparecem em branco no Grid. Já consegui listar através desse método antes porém de um tempo para cá este problema começou a ocorrer. Segue em anexo imagens do que estou tentando fazer e de um Form em que consegui. Repliquei todo o código de maneira exata ao que deu certo porém parece que estou esquecendo algum detalhe. Obrigado pela atenção.
    terça-feira, 19 de julho de 2016 22:17

Respostas

  • Boa tarde renan1047,

    Como esse mesmo código funcionava antes, tente fazer um clean/rebuild em sua aplicação, reinicie Visual Studio. Neste link, onde outra pessoa estava tendo um problema similar, foi sugerido utilizar propriedades ao invés de campos.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta renan1047 quarta-feira, 27 de julho de 2016 15:04
    segunda-feira, 25 de julho de 2016 20:03
    Moderador

Todas as Respostas

  • Não consegui anexar as imagens, estão aqui vai o código:

            public List<TesteDAO> listar(string pesq)
            {
                List<TesteDAO> listaTestes = new List<TesteDAO>();
                NpgsqlConnection pgSQL = null;
                try
                {
                    Conexao cnt = new Conexao();
                    pgSQL = cnt.getConexao();
                    pgSQL.Open();
                    string sql = "SELECT exemplo FROM Teste WHERE (exemplo ILIKE '%" + pesq + "%');";
                    NpgsqlCommand cmd = new NpgsqlCommand(sql, pgSQL);
                    NpgsqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                        TesteDAO t = new TesteDAO();
                        t.exemplo = dr["exemplo"].ToString();
                        listaTestes.Add(t);
                    }
                }
                catch (Exception) { }
                finally
                {
                    pgSQL.Close();
                }
                return listaTestes;
            }

    terça-feira, 19 de julho de 2016 22:19
  •         public void listar()
            {
                TesteDAO t = new TesteDAO();
                dgvLista.AutoGenerateColumns = false;
                var lista = new BindingList<TesteDAO>(t.listar(txtPesq.Text));
                dgvLista.DataSource = lista;
            }
            private void frmLista_Load(object sender, EventArgs e)
            {
                listar();
            }
    
            private void dgvLista_Enter(object sender, EventArgs e)
            {
                listar();
            }
    
            private void btnPesq_Click(object sender, EventArgs e)
            {
                listar();
            }


    • Editado renan1047 terça-feira, 19 de julho de 2016 22:21
    terça-feira, 19 de julho de 2016 22:20
  • No Breakpoint vejo os dados sendo retornados corretamente no método e o número de linhas que aparece no Grid é o mesmo número de registros na tabela, porém as linhas aparecem em branco ao invés de mostrarem os dados que vem do banco
    terça-feira, 19 de julho de 2016 22:23
  • Renan, boa tarde!

    Cara, acho que sua sintaxe no select, está errada.

    Nunca utilizei PostgreSQL, mas eu acho que no postgre também é "LIKE" e não "ILIKE".

    Tente ajustar isso, e me fale o erro fazendo favor.

    Att.

    Felipe

    quarta-feira, 20 de julho de 2016 20:11
  • quinta-feira, 21 de julho de 2016 18:08
  • Olá Felipe, segue em anexo a Query retornando dados no PostgreSQL, o ILIKE retorna os registros com descrição aproximada ao que procuro. Obrigado pela resposta.
    quinta-feira, 21 de julho de 2016 18:11

  • Segue o que estou tentando fazer, utilizei a mesma lógica porém não está funcionando
    quinta-feira, 21 de julho de 2016 18:12

  • O que acontece no meu caso é isso.
    quinta-feira, 21 de julho de 2016 18:13
  • Boa tarde renan1047,

    Como esse mesmo código funcionava antes, tente fazer um clean/rebuild em sua aplicação, reinicie Visual Studio. Neste link, onde outra pessoa estava tendo um problema similar, foi sugerido utilizar propriedades ao invés de campos.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    • Marcado como Resposta renan1047 quarta-feira, 27 de julho de 2016 15:04
    segunda-feira, 25 de julho de 2016 20:03
    Moderador
  • Obrigado, trocar os campos por propriedades funcionou.
    quarta-feira, 27 de julho de 2016 15:04