none
Carregar ListView a partir do banco RRS feed

  • Pergunta

  • Gente, sou iniciante em c# e estou com duvida a respeito de como preencher uma tabela (listview) com informações do banco, por exemplo, em uma table possuo as seguintes colunas Nome, Endereco, Data_nasc, Sexo, Ano;

    a minha duvida é como fazer com que os dados venham do banco e caiam certo na list, o meu metodo que pega as informações do banco esta correto, pois ja testei, como vim recentemente do java me recordo que la usavamos DefaultTableModel modelo = new DefaultTableModel();

    modelo.addRow(linha);

    neste caso, como ficaria em c#? obrigado! segue parte do codigo que tentei porem está dando erro.

       

    modelo.SubItems.Add(al.Nome);
                        modelo.SubItems.Add(al.Endereco);
                        modelo.SubItems.Add(al.Data_nascimento);
                        modelo.SubItems.Add(al.Sexo);
                        modelo.SubItems.Add(al.Serie);
                        listViewListarAlunos.Items.Add(modelo);

    EDIT: Desculpe gente, consegui resolver segue a solução que consegui: 

      ListViewItem modelo = new ListViewItem(al.Nome);
                        modelo.SubItems.Add(al.Endereco);
                        modelo.SubItems.Add(al.Data_nascimento);
                        modelo.SubItems.Add(al.Sexo);
                        modelo.SubItems.Add(al.Serie);
                        listViewListarAlunos.Items.Add(modelo);
    • Editado JuniorTunjr terça-feira, 23 de fevereiro de 2016 04:27 Resposta solucionada
    terça-feira, 23 de fevereiro de 2016 04:16

Respostas

  • Bom dia,

    Você pode preencher o retorno do banco de dados em um SqlDataReader e se houver resultado, transferir para um ListViewItem e depois para o ListView, conforme exemplo abaixo.

    string sql = "/* COMANDO SQL */";
                
    SqlConnection cnn = new SqlConnection(con);
    cnn.Open();
    SqlCommand cmd=new SqlCommand(sql,cnn);
    SqlDataReader retornoConsulta = cmd.ExecuteReader();
    
    // Limpa os itens do ListView
    listView1.Items.Clear();
    
    // Se houver retorno de dados com a consulta SQL,
    // o bloco abaixo será executado.
    while (retornoConsulta.Read())
    {
    
       // Esse componente recebe os itens do Reader 
       // para adicionar no ListView.
       ListViewItem lvItem = new ListViewItem(Reader.GetInt32(0).ToString());
       
       lvItem.SubItems.Add(Reader.GetString(1));
       lvItem.SubItems.Add(Reader.GetString(2));
       
       // Adicionando os itens do ListViewItem no ListView.
       listView1.Items.Add(lvItem);
    
    }
    
    retornoConsulta.Close();
    cnn.Close();
    

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/

    • Marcado como Resposta Marcos SJ terça-feira, 23 de fevereiro de 2016 12:34
    terça-feira, 23 de fevereiro de 2016 10:58

Todas as Respostas

  • Bom dia,

    Você pode preencher o retorno do banco de dados em um SqlDataReader e se houver resultado, transferir para um ListViewItem e depois para o ListView, conforme exemplo abaixo.

    string sql = "/* COMANDO SQL */";
                
    SqlConnection cnn = new SqlConnection(con);
    cnn.Open();
    SqlCommand cmd=new SqlCommand(sql,cnn);
    SqlDataReader retornoConsulta = cmd.ExecuteReader();
    
    // Limpa os itens do ListView
    listView1.Items.Clear();
    
    // Se houver retorno de dados com a consulta SQL,
    // o bloco abaixo será executado.
    while (retornoConsulta.Read())
    {
    
       // Esse componente recebe os itens do Reader 
       // para adicionar no ListView.
       ListViewItem lvItem = new ListViewItem(Reader.GetInt32(0).ToString());
       
       lvItem.SubItems.Add(Reader.GetString(1));
       lvItem.SubItems.Add(Reader.GetString(2));
       
       // Adicionando os itens do ListViewItem no ListView.
       listView1.Items.Add(lvItem);
    
    }
    
    retornoConsulta.Close();
    cnn.Close();
    

    Abs.

    Bruno Destro


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/

    • Marcado como Resposta Marcos SJ terça-feira, 23 de fevereiro de 2016 12:34
    terça-feira, 23 de fevereiro de 2016 10:58
  • Bom dia Junior,

    Sei que você já resolveu, mas para aprender mais sobre este controle abaixo coloquei alguns links para estudos.

    Espero que ajuda mais.

    http://www.c-sharpcorner.com/UploadFile/mahesh/working-with-listview-in-C-Sharp/

    http://www.macoratti.net/08/08/c_lstv1.htm

    Abraço,

    Cleber Ramos

    terça-feira, 23 de fevereiro de 2016 11:00