Récupération valeur booleenne dans gridview

Résolu
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 26 sept. 2007 à 18:16
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 - 27 sept. 2007 à 10:47
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

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
26 sept. 2007 à 21:59
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
3
David REI Messages postés 33 Date d'inscription mardi 18 septembre 2007 Statut Membre Dernière intervention 27 septembre 2007
26 sept. 2007 à 22:04
Salut !
Tu peux faire ça avec le CheckBoxField ou le TemplateColumn qui contient un CheckBox:
((




CheckBox
)GridView1.SelectedRow.Cells[1].Controls[0]).Checked
3
v.massip Messages postés 48 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 9 décembre 2008 2
27 sept. 2007 à 10:47
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!
0
Rejoignez-nous