Récupération valeur booleenne dans gridview

[Résolu]
Signaler
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
-
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
-
Bonjour à tous,

Dans l'application que je suis en train de développer, j'utilise un Gridview pour récupérer des informations dans une base de données SQL Server (2003).

J'arrive bien à me connecter, mettre à jour le gridview en fonction et même à récupérer les informations dudit gridview...

Le problème est que dès que j'arrive sur un champ booleen, impossible de récupérer sa valeur...

J'utilise la propriété suivante : GVW.SelectedRow.Cells(4).Text

Celle-ci fonctionne pour les champs textes et numériques.
Je pensais donc récupérer une valeur de type 'True' ou 'False' pour les booleens mais ce n'est pas le cas. Et je ne trouve pas la bonne propriété pour récupérer cette valeur.

Quelqu'un pourrait-il m'aider ?

Merci d'avance.

3 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
24
Salut,
Si le champ de ta base est un bit (bool sql), il suffit de le caster :
Convert.ToBoolean(GVW.SelectedRow.Cells(4).Text);

Pour l'affichage dans le gridView, il vaut mieux le mapper sur un CheckBox, ce qui est plus agréable que de voir afficher 0 ou 1
Messages postés
33
Date d'inscription
mardi 18 septembre 2007
Statut
Membre
Dernière intervention
27 septembre 2007

Salut !
Tu peux faire ça avec le CheckBoxField ou le TemplateColumn qui contient un CheckBox:
((




CheckBox
)GridView1.SelectedRow.Cells[1].Controls[0]).Checked
Messages postés
48
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
9 décembre 2008
2
Merci beaucoup pour vos réponses. Cela m'a bien aidé!

J'apporte quelques précisions sur mon problème, sur les solutions possibles et sur l'utilisation des méthodes que vous m'avez apporté :

La colonne du gridview contenant le booleen est mappé en checkbox (en base SQL, il s'agit bien d'un bit). Résultat, lorsque je retourne la valeur texte de ce champ, je ne récupère rien. D'où le problème.

Or, pour utiliser le Convert.ToBoolean, il faut impérativement avoir une valeur d'entrée. Donc, dans mon cas, lorsque j'utilise 'Convert.ToBoolean(GVW.SelectedRow.Cells(4).Text)', je récupère le message d'erreur suivant : La chaîne n'a pas été reconnue en tant que Boolean valide. Pour que j'utilise cette méthode avec succès, il faut donc que je rajoute une colonne 'classique' non visible pointant sur le même champ bit. Cela me ramène bien alors 'True' ou 'False'.

2ème possibilité, utiliser la propriété Checked du booleen mappé. Pour cela, codant en VB, le code utilisé doit être le suivant :
Dim CBX_DATA as CheckBox
CBX_DATA = GVW.SelectedRow.Cells(4).Controls(0)
Return CBX_DATA.Checked
Je récupère bien alors 'True' ou 'False'.

Voilà pour les explications.

Merci encore et à bientôt!