Bonjour,
Je voudrais modifier l'apparence de certaines cellules en fonction des valeurs récupérées de ma base.
test1-Colorer une cellule.
test2-Remplacer une texte par une image.
J'ai trouvé beaucoup d'exemples et d'explications sur le net.
Là, je me base sur un exemple fourni par MS. Je comprends bien le code et celui-ci semble s'appliquer correctement... jusqu'à un certain point. Et je bloque.
Le code:
Pour le test 1, à savoir, colorer la cellule en fonction de sa valeur... Pas de problème.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 ' Modifier l'affichage des cellules en fonction de leur valeur Private Sub dataGridView1_CellFormatting(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _ Handles DataGridView1.CellFormatting '********************************************* ' colore la cellule en fonction de sa valeur. '********************************************* If DataGridView1.Columns(e.ColumnIndex).Name.Equals("page") Then 'Si le numéro de page < 100 --> On colore la cellule en rouge If CInt(e.Value) < 100 Then e.CellStyle.BackColor = Color.Red e.CellStyle.SelectionBackColor = Color.DarkRed End If End If '************************************************** ' Remplace les valeurs d'une chaine par une image. '************************************************** Dim MonIMAGE = New Bitmap("impr.jpg") If DataGridView1.Columns(e.ColumnIndex).Name.Equals("impr") Then ' On vérifie que la valeur est une chaine Dim stringValue As String = TryCast(e.Value, String) If stringValue Is Nothing Then Return ' On place la valeur du texte en ToolTip Dim cell As DataGridViewCell = _ DataGridView1(e.ColumnIndex, e.RowIndex) cell.ToolTipText = stringValue ' Remplace la chaine par l'image Select Case stringValue Case "ok" e.Value = MonIMAGE '--> Affiche "System.Drawind.Bitmap" au lieu de l'image End Select End If End Sub
Par contre, le test 2, l'affichage de l'image ("impr.jpg") en fonction de la valeur de la cellule ("ok") bloque.
Il remplace bien les cellules, mais au lieu de mettre l'image, il m'affiche "System.Drawind.Bitmap"
Si je passe par un icône (MonICONE = New icon("impr.ico")), il m'affiche à la place du "ok", "(icône)"
J'ai placé mes fichiers jpg et ico dans le répertoire de l'application
Qu'ai je oublié, qu'est ce qui bloque ?
Partager