Array
(
)

Erro na hora de povoar Listview!!!!

Raniel Nogueira
   - 05 jul 2013


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).
#Código

//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;
           }

Joel Rodrigues
   - 05 jul 2013

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

0
|
0

Raniel Nogueira
   - 05 jul 2013


Citação:
Mostre a parte do código conde você insere no ListView.


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

#Código

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);
            }
           
        }

0
|
0

Joel Rodrigues
   - 05 jul 2013

Experimente colocar a seguinte linha dentro do foreach:#Código

ListViewItem objListViewItem = new ListViewItem();

0
|
0

Raniel Nogueira
   - 05 jul 2013

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

0
|
0

Joel Rodrigues
   - 05 jul 2013

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

0
|
0

José
   - 05 jul 2013

Tópico concluído.

0
|
0