Ajouté des inormation dans plusieur column d'une list View

ismfou Messages postés 11 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 11 mai 2009 - 11 mai 2009 à 01:04
ismfou Messages postés 11 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 11 mai 2009 - 11 mai 2009 à 21:34
bonsoir,

bon voila je récupéré des information a partir d'un tableau et je veut les affiché dan plusieurs colon mais tous s'affiche sur la premier seulement jais utiliser subitem mai ca donne rien car jutelise une bocle
aidé moi je doi rendre le projet, merci
voici le bou de code :
 String[] days = new String[] { "LUNDI", "MARDI", "MERCREDI", "JEUDI", "VENDREDI", "SAMEDI", "DIMANCHE" };
                    for (int dayIndex = 0; dayIndex < days.Length; dayIndex++)
                    {
                        ColumnHeader col = new ColumnHeader();
                        col.Text = (days[dayIndex]);
                        col.Width = 130;
                        lvPers.Columns.Add(col);

                      
                        for (int hourInDayIndex = 0; hourInDayIndex < 24; hourInDayIndex++)
                        {

                            lvPers.Items.Add(new ListViewItem (logonHoursMatrix[dayIndex, hourInDayIndex] + " "));

                          
                        

                        }
                      
                    }

4 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
11 mai 2009 à 10:26
Salut

Tout d'abord, relis-toi avant de poster un message s'il te plaît. Ton message et même son sujet contiennent pas mal de fautes.

En ce qui concerne ton problème :
Un ListViewItem est une ligne complète. Donc en faire 7 x 24 aboutira évidemment à 168 lignes. Si j'ai bien compris, tu n'en veux que 24.
Dans ce cas, sort ton for (hourInDayIndex) de ton for (dayIndex).
Puis, dans ton for (hourInDayIndex), crée un nouveau ListViewItem, avec comme Text sa valeur pour Lundi (donc à priori logonHoursMatrix[0, hourInDayIndex].ToString()). Puis fait une boucle qui va de Mardi à Dimanche pour ajouter les valeurs aux SubItems de ton ListViewItem.
Une fois que tu as ajouté le Lundi à Text et les autres jours à SubItems, tu peux ajouter ton ListViewItem à ta ListView.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
ismfou Messages postés 11 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 11 mai 2009
11 mai 2009 à 18:29
merci pour ta sujestion mais elle marche pa je pensse car dan la boucle il recherche la list view et  ne la trouve pa enfin voici ce que jai fait:
String

[] days =
new
String[] {
"LUNDI",
"MARDI",
"MERCREDI",
"JEUDI",
"VENDREDI",
"SAMEDI",
"DIMANCHE" };

for (
int dayIndex = 0; dayIndex < days.Length; dayIndex++){
// remplire les colomn

ColumnHeader col =
new
ColumnHeader(); col.Text = (days[dayIndex]);

col.Width = 130;

lvPers.Columns.Add(col);

}
//la premier boucle

for (
int hourInDayIndex = 0; hourInDayIndex < 24; hourInDayIndex++){

ListViewItem it =
new
ListViewItem();it.SubItems[0].Text = (logonHoursMatrix[0, hourInDayIndex] +

" ");

}

for (
int l = 1; l < 7; l++){

it.

for (
int hourInDayIndex = 0; hourInDayIndex < 24; hourInDayIndex++){

it.SubItems.Add((logonHoursMatrix[l, hourInDayIndex] +

" "));}

}

lvPers.Items.Add(it);//
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
11 mai 2009 à 19:36
Avant de traduire ce que je dis en code, réfléchis exactement à ce que je te propose. Car tes boucles montrent que tu n'as pas bien compris ce que je t'ai dit.
Au niveau des étapes :
- On prépare les colonnes
- Pour chaque heure, on prépare un objet avec comme valeur de base celle du lundi
- Pour chaque objet, on rajoute les valeurs du mardi jusqu'au dimanche en valeurs supplémentaires

Ce qui se traduit en :
            string[] days = new string[] { "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche" };
            for (int dayIndex = 0; dayIndex < days.Length; dayIndex++)
            {
                ColumnHeader col = new ColumnHeader();
                col.Text = days[dayIndex];
                col.Width = 130;
                lvPers.Columns.Add(col);
            }

            for (int HourInDayIndex = 0; HourInDayIndex < 24; HourInDayIndex++)
            {
                ListViewItem it = new ListViewItem();
                it.Text /* Et non subitem[0] */= logonHoursMatrix[0, HourInDayIndex].ToString(); // .ToString() c'est beaucoup plus propre que + " "
                for (int i = 1; i < days.Length; i++) // Cette boucle est imbriquée, donc lors de la création du ListViewItem
                {
                    it.SubItems.Add(logonHoursMatrix[i, HourInDayIndex].ToString());
                }
                lvPers.Items.Add(it); // L'ajout doit aussi se faire dans la boucle
            }
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
0
ismfou Messages postés 11 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 11 mai 2009
11 mai 2009 à 21:34
merci beaucoup , ca marche tré bien


je voulez vous demandez un truck ,  comment je peu inserer des légande a mes lignes comme exemple 


le code que vous m'avez corriger , comment inserer des heur avec les ligne


 


merci
0
Rejoignez-nous