Bonjour,

Je suis en train de m'arracher les cheveux sur la gestion des objets nullable.

Pour résumer, je dois remplir un datagridview (c'est une version custom faite par un prestataire y'a 15ans, le remplacer triplerai la quantité de travail, et je n'ai malheureusement pas ce delai)
Je construis ma datagridviewrow a partir d'une classe "offredeprix" qui contient des proprietés nullable.

Quand je teste si mon objet nullable a une valeur, via .HasValue, ca passe bien si il y a une valeur, par contre, si c'est a nothing, ca renvoie une erreur.

extrait de la classe OffreDePrix
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public class OffreDePrix
public property Id as string
Public Property DateSupp As Date?
end class
extrait de la fonction qui rempli le datagridview "FlexOffre"
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
 
'OdPs est une liste d'OffreDePrix recupéré via entity 
            For Each odp As OffreDePrix In OdPs
                Dim RowId As Integer = FlexOffre.Rows.Add()
                Dim Row As DataGridViewRow = FlexOffre.Rows(RowId)
                Row.Cells(0).Value = odp.CodeSociete
                '... 
                Row.Cells(7).Value = IIf(odp.DateDevis.HasValue, odp.DateDevis.Value.ToShortDateString, "") 'Ici le HasValue retourne bien une valeur, mais ca risque de planter pareil que pour DateSupp
                Row.Cells(8).Value = IIf(odp.DateButoire.HasValue, odp.DateButoire.Value.ToShortDateString, "")
                Row.Cells(9).Value = odp.CodeCommercial
                Row.Cells(10).Value = IIf(odp.PrecommandeOK.HasValue, IIf(odp.PrecommandeOK, "X", ""), "")
                'C'est la que ca plante.
                Row.Cells(11).Value = IIf(odp.DateSupp.HasValue, odp.DateSupp.Value.ToShortDateString, "")
                'La DateSupp est potentiellement null
                Row.Cells(12).Value = odp.Id
            Next
Edit : avec le message d'erreur c'est encore mieux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Un objet qui autorise la valeur Null doit posséder une valeur.
Y a t il une technique pour ne pas lever d'exception lorsqu'une valeur nullable est null?

Merci de m'avoir lu, pour toute question, je répondrais au plus vite.

Nasty