Erro na hora de povoar Listview!!!!

05/07/2013

0


Estou achando que o problema é no meu "While" mais já tentei com o for contando as Linhas e nada. Sempre que eu tenho apenas 1 uma linha na tabela beleza ele não mostrar nenhum erro, mais quando eu adiciono outra linda na tabela ai aparece o erro : ( Cannot add or insert the item '22' in more than one place. You must first remove it from its current location or clone it.
Parameter name: item).

//Listar dados em um GridView
       public List<Clientes> Consultar()
           {
               List<Clientes> lstClientes = new List<Clientes>();
                
            using (MySqlConnection objConexao = new MySqlConnection (strConexao))
             {
               using (MySqlCommand objCommand = new MySqlCommand(strSelect, objConexao))
               {
                   objConexao.Open();
 
                   MySqlDataReader objDataReader = objCommand.ExecuteReader();
 
                   if (objDataReader.HasRows)
                   {
                       while (objDataReader.Read())
                       {
                           Clientes objCliente = new Clientes();
 
                           objCliente.IdCliente = Convert.ToInt32(objDataReader["IdCliente"].ToString());
                           objCliente.Nome = objDataReader["Nome"].ToString();
                           objCliente.Endereco = objDataReader["Endereco"].ToString();
                           objCliente.Telefone = objDataReader["Telefone"].ToString();
                           objCliente.Sexo = objDataReader["Sexo"].ToString();
 
                           if (objDataReader["Ativo"].ToString().Equals("0"))
                               objCliente.Ativo = false;
                           else
                               objCliente.Ativo = true;
 
                           objCliente.DataCadastro = Convert.ToDateTime(objDataReader["DataCadastro"].ToString());
                           lstClientes.Add(objCliente);
                       }
                       objDataReader.Close();
                   }
 
                   objConexao.Close();
               }
            }
               return lstClientes;
           }
Raniel Gomes

Raniel Gomes

Responder

Posts

05/07/2013

Joel Rodrigues

Mostre a parte do código conde você insere no ListView.
Responder

05/07/2013

Raniel Gomes

Mostre a parte do código conde você insere no ListView.


Aqui segue amigo o código de inserção:

private void CarregaListView()
        {
            Dados objDados = new Dados();
 
            List<CrudBasico.Dados.Clientes> listaClientes = new List<Dados.Clientes>();
            listaClientes = objDados.Consultar();
            ListViewItem objListViewItem = new ListViewItem();
             
            foreach (var itemLista in listaClientes)
            {
                objListViewItem.Text = itemLista.IdCliente.ToString();
                objListViewItem.SubItems.Add(itemLista.Nome);
                objListViewItem.SubItems.Add(itemLista.Endereco);
                objListViewItem.SubItems.Add(itemLista.Telefone);
                objListViewItem.SubItems.Add(itemLista.Sexo);
 
                if (itemLista.Ativo)
                    objListViewItem.SubItems.Add("Sim");
                else
                    objListViewItem.SubItems.Add("Não");
 
                objListViewItem.SubItems.Add(itemLista.DataCadastro.ToShortDateString());
                lsvClientes.Items.Add(objListViewItem);
            }
           
        }
Responder

05/07/2013

Joel Rodrigues

Experimente colocar a seguinte linha dentro do foreach:
ListViewItem objListViewItem = new ListViewItem();
Responder

05/07/2013

Raniel Gomes

Grande Joel consegui cara era só isso mesmo abraço, e muito obrigado!
Responder

05/07/2013

Joel Rodrigues

Show de bola. Que bom que deu certo.
Abraço.
Responder

05/07/2013

José

Tópico concluído.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar