OVH Cloud OVH Cloud

Datagrid et champs Null

9 réponses
Avatar
bjo
J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.

9 réponses

Avatar
Pulsar
bjo a couché sur son écran :
J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.



Une solution est de choisir une chaine de caractère vide comme valeur
par défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère
vide.



Pulsar.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
bjo
Pulsar a écrit :
bjo a couché sur son écran :

J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.




Une solution est de choisir une chaine de caractère vide comme valeur
par défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère vide.



Pulsar.



On ne peut pas gérer ceci avant? Au niveau de la requete sql ou au
remplissage du dataset?
Car la effectivement je peux meme parcourir la grille a la recherche de
valeur nulle, mais je ne trouve pas ca propre ni optimisée.
Avatar
Pulsar
bjo avait prétendu :
Pulsar a écrit :
bjo a couché sur son écran :

J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.




Une solution est de choisir une chaine de caractère vide comme valeur par
défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère vide.



Pulsar.



On ne peut pas gérer ceci avant? Au niveau de la requete sql ou au
remplissage du dataset?
Car la effectivement je peux meme parcourir la grille a la recherche de
valeur nulle, mais je ne trouve pas ca propre ni optimisée.



Ca fait longtemps que je n'ai pas pratiqué le SQL, mais il est possible
de remplacer une chaine null par une chaine vide par le biais
d'instruction SQL (intergrée dans la requete SQL).

Mais en fait tu regles le PB par du code SQL, ce qui n'est pas tres
'propre'.

L'idéal est de faire le necessaire au niveau de la conception de ta
base pour qu'elle n'utilise plus de chaine null mais plutot des chaines
vide.

En fait, lors de la création de nouveau enregistrement, les champs que
tu ne remplis pas restent avec la valeur Null ? c'est bien ça ?

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Pulsar
Pulsar avait écrit le 04/05/2005 :
bjo avait prétendu :
Pulsar a écrit :
bjo a couché sur son écran :

J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.




Une solution est de choisir une chaine de caractère vide comme valeur par
défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère vide.



Pulsar.



On ne peut pas gérer ceci avant? Au niveau de la requete sql ou au
remplissage du dataset?
Car la effectivement je peux meme parcourir la grille a la recherche de
valeur nulle, mais je ne trouve pas ca propre ni optimisée.



Ca fait longtemps que je n'ai pas pratiqué le SQL, mais il est possible de
remplacer une chaine null par une chaine vide par le biais d'instruction SQL
(intergrée dans la requete SQL).

Mais en fait tu regles le PB par du code SQL, ce qui n'est pas tres 'propre'.

L'idéal est de faire le necessaire au niveau de la conception de ta base pour
qu'elle n'utilise plus de chaine null mais plutot des chaines vide.

En fait, lors de la création de nouveau enregistrement, les champs que tu ne
remplis pas restent avec la valeur Null ? c'est bien ça ?



Ca y est, les choses me reviennent à l'esprit.

Si intervenir sur la base ne te convient pas, dans ta requête SQL, pour
les champs qui peuvent contenir des valeurs NULL, tu concatènes une
chaine vide de cette manière => & '' et tu n'auras plus de msg d'erreur
puisque une valeur NULL concaténé à une chaine vide donne une chaine
vide?

Je trouve que cette dernière solution, c'est du bricolage mais bon...

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Zoury
Salut ! :O)

Tu peux aussi la classe DataGridColumnStyle et ses dérivées. Elles offrent
une propriété, tel que NullText qui te permet de modifier le texte affiché
lorsqu'une valeur NULL y est présentée.

Classe DataGridColumnStyle
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclasstopic.asp

Propriété DataGridColumnStyle.NullText
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclassnulltexttopic.asp

--
Cordialement
Yanick
MVP pour Visual Basic
"bjo" a écrit dans le message de
news:42788736$0$306$
J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.


Avatar
bjo
Pulsar a écrit :
Pulsar avait écrit le 04/05/2005 :

bjo avait prétendu :

Pulsar a écrit :

bjo a couché sur son écran :

J'ai une base de donnees avec pas mal de valeur NULL.
Je remplis ma datagrid via un dataset.
J'aimerais que la valeur 'NULL' n'apparaisse pas
dans les cellules de ma datagrid.
Comment faire?
Merci d'avance.





Une solution est de choisir une chaine de caractère vide comme
valeur par défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère
vide.



Pulsar.



On ne peut pas gérer ceci avant? Au niveau de la requete sql ou au
remplissage du dataset?
Car la effectivement je peux meme parcourir la grille a la recherche
de valeur nulle, mais je ne trouve pas ca propre ni optimisée.




Ca fait longtemps que je n'ai pas pratiqué le SQL, mais il est
possible de remplacer une chaine null par une chaine vide par le biais
d'instruction SQL (intergrée dans la requete SQL).

Mais en fait tu regles le PB par du code SQL, ce qui n'est pas tres
'propre'.

L'idéal est de faire le necessaire au niveau de la conception de ta
base pour qu'elle n'utilise plus de chaine null mais plutot des
chaines vide.

En fait, lors de la création de nouveau enregistrement, les champs
que tu ne remplis pas restent avec la valeur Null ? c'est bien ça ?




Ca y est, les choses me reviennent à l'esprit.

Si intervenir sur la base ne te convient pas, dans ta requête SQL, pour
les champs qui peuvent contenir des valeurs NULL, tu concatènes une
chaine vide de cette manière => & '' et tu n'auras plus de msg d'erreur
puisque une valeur NULL concaténé à une chaine vide donne une chaine vide?

Je trouve que cette dernière solution, c'est du bricolage mais bon...



Merci de t'intéresser a mon probleme.

En fait je ne suis pas le concepteur de la base de données
et je ne peux pas la modifier.
je fais juste un 'select * from "la table" ' que je balance dans le
dataset et ensuite dans la gille.
Je pensais qu'il existait une propriete dans la datagrid qui n'affiche
pas les valeurs nulles.
Avatar
bjo
Zoury a écrit :
Salut ! :O)

Tu peux aussi la classe DataGridColumnStyle et ses dérivées. Elles offrent
une propriété, tel que NullText qui te permet de modifier le texte affiché
lorsqu'une valeur NULL y est présentée.

Classe DataGridColumnStyle
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclasstopic.asp

Propriété DataGridColumnStyle.NullText
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclassnulltexttopic.asp



Merci beaucoup, je regarde ca.
Avatar
bjo
bjo a écrit :
Zoury a écrit :

Salut ! :O)

Tu peux aussi la classe DataGridColumnStyle et ses dérivées. Elles
offrent
une propriété, tel que NullText qui te permet de modifier le texte
affiché
lorsqu'une valeur NULL y est présentée.

Classe DataGridColumnStyle
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclasstopic.asp


Propriété DataGridColumnStyle.NullText
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformsdatagridcolumnstyleclassnulltexttopic.asp




Merci beaucoup, je regarde ca.



Impecc.
Avec les datagridcolumnstyles ca fonctionne a merveille.
Encore merci.
Avatar
Zoury
Salut! :O)

Une solution est de choisir une chaine de caractère vide comme valeur
par défaut pour les champs concerné.

Et mettre à jour toutes les valeurs NULL par une chaine de caractère
vide.



Cette solution cause généralement plus de problème qu'elle n'en résout.

Tout dépend des circonstances, mais il se peut qu'un champs en particulier
puissent avoir une chaine vide comme valeur et aussi NULL (il est plus
logique et facile de considéré NULL comme un état et non comme une valeur).
Ces deux valeurs/états ne sont pas identique et selon le cas peuvent
influencer le traitement à effectuer sur la donnée. De plus, comment
appliquée cette technique sur les champs de type numérique ? Il se peut que
toutes les valeurs possibles d'un nombre soit valide.. On ne pourrait donc
pas dans ce cas modifier les NULL pour des 0 par exemple.

Maintenant si on exclu les cas problématiques où toutes les valeurs
possibles (autre que NULL) sont traitées, tu pourrais comme tu l'as
mentionné, concatené une chaine vide (pour les chaines seulement) ou encore
substituer la valeur directement dans la requête, comme démontré dans ce
message :
http://groups.google.com/groups?threadm=OObTwZmSFHA.248%40TK2MSFTNGP15.phx.gbl

--
Cordialement
Yanick
MVP pour Visual Basic