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
extrait de la fonction qui rempli le datagridview "FlexOffre"
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
Edit : avec le message d'erreur c'est encore mieux
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
Y a t il une technique pour ne pas lever d'exception lorsqu'une valeur nullable est null?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Un objet qui autorise la valeur Null doit posséder une valeur.
Merci de m'avoir lu, pour toute question, je répondrais au plus vite.
Nasty
Partager