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ódigoListViewItem 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