Llenar un listview con espacio de tiempo por item

Bueno lo primero traigo los datos de una base de datos (datatable). Luego quiero llenarlos fila por fila del datatable en un listview pero el tiempo que me va agregando la fila al listview quiero que sea cada segundo.
Este es mi código: Pero al momento ejecutarlo me lista todas las filas pasado el segundo.
¿Alguna idea para solucionar mi problema?
cn.Open();
  string cadena = "select a.ag_nombre,a.ag_ip,m.mib_descripcion,m.oid,t.tipo,ed.estadodig, et.estadotemp from ((((agente a left join mibagente as ma on a.id_agente = ma.id_agente) left join mib as m  on ma.id_mib = m.id_mib) left join estadodigital as ed on  ma.id_estadodig=ed.id_estadodig) left join estadotemp as et on ma.id_estadotemp=et.id_estadotemp) left join tipo as t on ma.id_tipo = t.id_tipo";
            SqlDataAdapter da = new SqlDataAdapter(cadena, cn);
            DataSet ds = new DataSet();
            da.Fill(ds, "MibAgente");
            DataTable tbMibAgente;
            tbMibAgente = ds.Tables["MibAgente"];
            if (tbMibAgente.Rows.Count == 0)
            {
                MessageBox.Show("No existen Datos");
            }
            else
            {
                //foreach (DataRow dr in tbMibAgente.Rows)
                //{
                    ListViewItem objItem;
                    //ImageList imag = new ImageList();
                    //imag.Images.Add(Image.FromFile("..\\..\\images\\alarma.jpg"));
                    for (int i = 1; tbMibAgente.Rows.Count > i;i++ )
                    {
                        objItem = ctlReceivedTraps.Items.Add(tbMibAgente.Rows[0].ToString());// Add data to list control
                        //ctlReceivedTraps.Items[0].ImageIndex = 0;
                       // objItem.SubItems.Add(tbMibAgente.Rows[2].ToString());
                        //objItem.SubItems.Add(tbMibAgente.Rows[4].ToString());
                        //objItem.SubItems.Add(tbMibAgente.Rows[5].ToString());
                        //listBox1.Items.Add(tbMibAgente.Rows[0].ToString());
                        Thread.Sleep(1000);
                        //dr[0].ToString();
                    }
               // }
            }
            cn.Close();
1

1 Respuesta

2.475 pts.
Incluí esto dentro del for:
System.Threading.Thread.Sleep(1000);
Bueno si te diste cuenta en mi código ya estaba implementado el Thread.Sleep(1000); y lo que hacia era recorrer todas las filas y mostrártelos cada cierto tiempo y no era lo que quería hacer, pero no pasa nada ya encontré una solución. Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas