Parcourir listbox

Signaler
Messages postés
4
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
29 août 2006
-
 madeUser -
Bonjour,
J'ai créé une listbox dans laquelle je récupère des dates de ma base de donnée.
Je voudrais maintenant pouvoir parcourir ma listbox  et prendre chaque date que je mettrais dans une variable DateTime Date.
Je sais qu'il faut faire une boucle mais je n'ai aucune idée des conditions à mettre ou comment faire.
Merci d'avance de votre aide.
A voir également:

7 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
DateTime date;
for(int i=0; i<listBox.Items.Count; i++) {
    date = (DateTime)listBox.Items[i];
    // blabla... faire suite;
}

ou alors :

foreach(DateTime date in listBox.Items) {
    // blabla...
}

pour que ca marche, il faut remplir le listbox avec des dates
Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
143
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
25 octobre 2006

tu peux utilisé aussi une iterator

IEnumerator iElement = listbox.Items.GetEnumerator() ;
iElement.Reset() ;
while(iElement.MoveNext())
{
date = (DateTime)iElement.current
}
Messages postés
4
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
29 août 2006

Merci d'avoir répondu si rapidement.
Cependant lorsque je met la ligne: date = (DateTime)listBox.Items[i];
J'obtiens cette erreur: cannot convert type 'System.Web.UI.WebControls.ListItem' to 'System.DateTime'.

Et si je remplace cette ligne par date = Convert.ToDateTime(listbox.Items[i]) il me met comme erreur: Specified cast is not valid.

Merci de votre aide
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
comment remplis-tu ta listbox ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
4
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
29 août 2006

Je fais ce datareader:


SqlCommand myCommand = new SqlCommand("select Date from maTable", myConnection);
myConnection.Open();
SqlDataReader dr = myCommand.ExecuteReader();
while (dr.Read())
{
      listbox.Items.Add(dr[0].ToString());
}
myConnection.Close();
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
38
dans dr[0] c'est une date ?


 


dans ce cas essaye : dr.GetDateTime(0)

SqlDataReader dr = myCommand.ExecuteReader();
while (dr.Read())
{
      listbox.Items.Add(dr.GetDateTime(0));
}
myConnection.Close();






Sébastien FERRAND
(

blog
)
Consultant Indépendant
[Microsoft MVP Visual C#]
sebmafate
big thanks