Bonjour à tous et à toutes,
J'ai crée un datagridview avec 4 colonnes (no index, du texte, encore du texte et une image) et un datatable qui convient
J'ai une boucle qui fait appelle à la procédure dt_Add_Row avec 2 arguments un string sName et un string [] sListall qui contient une série de texte séparée par le caractère ';'.
Le but de la procédure est :
- Charger une image depuis un fichier imgListe (ici toto.png)
- Pour chaque string sTxttmp contenu dans le paramètre sListall, on insert graphiquement la valeur de sTxttmp dans l'image imgListe (filigrane)
- Puis on ajoute un enregistrement dans la datatable _dt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 private void dt_Add_Row(string sName, string[] sListAll) { Image imgListe = Image.FromFile("toto.png"); Graphics g = Graphics.FromImage(imgListe); int iFontHeight = 6; float x = 1; float y = 0; foreach (string sTxttmp in sListAll.Split(';')) { Font font = new Font(this.Font.FontFamily, iFontHeight); g.DrawString(sTxttmp, font, Brushes.Black, new PointF(x, y)); y = y + (iFontHeight + 1); // Si on dépasse la hauteur de l'image on sort if (y >= dgv_Analyze.RowTemplate.Height) break; } g.Dispose(); } _dt.Rows.Add( _dt.Rows.Count, sName, sListAll, imgListe); }
on associe ensuite la datatable au datagridview
Le problème est que mon image qui s'affiche dans mon dgv_Analyze est systématiquement la dernière traité dans la boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dgv_Analyze.DataSource = _dt;
Exemple:
je passe dans la boucle les valeurs suivantes
Nom1,"bonjour"
Nom2,"ici;aussi;oui"
....,"..."
NonX,"Fin"
J’obtiens un tableau qui affiche:
le bon no d'index de 0 à n
les noms Nom1,Nom2,...,NonX
les sListAll "bonjour", "ici;aussi;oui", "...", "Fin"
par contre la colonne image affiche systématiquement la même avec en Filigrane "Fin" au lieu des sListAll correspondant
Le traitement est pourtant correct en débogage pas à pas
Une aide me serait la bienvenue....
Partager