cs_brute
Messages postés135Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention11 mai 20071 3 oct. 2006 à 11:26
Je ne suis pas arriver a Utiliser la méthode de Bidou, car j'ai un probleme de Type de colonne.
Du coup j'ai essayé de modifier ma requete pour arriver a résoudre mon probleme :
SELECT CASE WHEN maColonne1 ='1' THEN 'True' WHEN maColonne1='2' THEN 'False' END AS NomColonne1,
maColonne2 ='1' THEN 'True' WHEN
maColonne2='2' THEN 'False' END AS NomColonne2,
maColonne3, maColonne4
FROM MaTable ;
Cette Requete Fonctionne lorsque je l'utilise avec la saisi de commande
de mon SGBD (Oracle), mais lorsque je l'insere a .NET j'ai toujours un
probleme de Type de Colonne .
Comment faire pour résoudre ce probleme ? Y a til une solution ?
cs_brute
Messages postés135Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention11 mai 20071 29 sept. 2006 à 11:46
Oui , pour 1 j'aimerai que la valeur afficher dans le datagrid soit 'True' .
Pour cela , j'aimerai effectuer le moins de modification possible, et surtout ne pas touché a ma table dans la bdd.
J'aimerai simplement changer l'affichage dans le datagrid, si il faut
passer par un datatable ou par le dataset , j'y passerai . . . mais le
but est simplement de remplacer 1 par 'True' dans le datagrid.
Vous n’avez pas trouvé la réponse que vous recherchez ?
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2006 à 12:11
commence par mettre 0 la place de 2 pour false...
ensuite, tu met ton databinding sur ta datatable...en framework normal je sais pas si la conversion en bool se fait automatiquement pour les checkbox ou pas, mais si cest pas le cas, tu vas devoir rajouter une boucle après l'intialisation de ton datagrid pour faire un
MaColonne[i].Checkbox.Checked = Convert.ToBool(ValeurEntiere)
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2006 à 12:12
et ensuite a chaque modification d'état d'une de tes checkbox, tu le répercute dans le base en t'abonnant a l'évènement de modification d'état des checkbox de ton datagrid. (l'edit, ca manque....)
cs_kurky
Messages postés111Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention27 avril 2010 29 sept. 2006 à 12:35
Heu ...
Il n'utilise pas de checkBox il me semble. Mais ca serait plus sympa :)
Et ou peux tu faire un Convert.ToBool ?
Car en faisant "MaColonne[i].Checkbox.Checked" ca soupsonne de remplir le grid ligne par ligne ou de parcourir toutes les lignes après :x
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2006 à 13:34
ce qu'il y a cest que je ne suis pas sur a 100% que le convert.ToBool se fasse d'office sur les entiers lors du databinding. donc ce qui risque de se passer s'il ne se fait pas de lui meme, le datagrid sera rempli MAIS les checkbox ne seront pas cochées (encore une fois, cest si le convert n'est pas fait doffice, donc je précise ca pour pallier au cas ou ca ne fonctionnerais pas bien...mais je pense malgré tout qu'avec 0 et 1, ca doit passer sur les checkbox).
donc il faut cocher les checkbox une a une apres (alors que tout le reste du datagrid est remplit correctement).
cs_kurky
Messages postés111Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention27 avril 2010 29 sept. 2006 à 13:48
En fait je ne vois pas trop l'utilité de faire ca si tu n'utilise pas de checkbox ou combobox.
Car afficher la chaine "true" ou "false" dans une grid c'est pas super esthétique. De plus si tu veux modifier les valeur tu devra saisie true ou false a la main sans faute, ou gérer l'erreur ce qui est très moche.
Moi ce que je te conseille maintenant c'est que si effectivement l'user peut modifier cette valeur, tu place une colonne de combo et chaque combo est lié à une source où ton DisplayMember est sur "Oui" ou "Non" et ton ValueMember sur 1 ou 2. Dans ce cas, tout marchera facilement sans faire de conversion ni rien :)
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 29 sept. 2006 à 15:40
juste pour information (et ptetre aussi un peu par maniaquerie de ma part ^^), de tous temps, false = 0, true = tout sauf 0....
bref, pour pas te casser la tete avec les conversions de chiffres en bool, remplace ton 2 dans la base par un 0....apres si tu veux un true ou false, tu a juste a faire un Convert.ToBool(MonIntBoolean).ToString()...cest bcp plus simple et clair....et aussi vachement plus carré...la tu vas te faire un if pour savoir ce que tu dois retourner, etc...