Dataadapter , dataset ou datareader

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 23 janv. 2007 à 12:35
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 23 janv. 2007 à 17:24
bonjour,
je veux remplir un datagridview a aprtir d'une base de données
bien sur je ne veux pas tous les elements mais que ceux fait a partir d'un certain tri (date ou autre)
il me semble avoir lu que charger une bd ds un dataadapter (puis fill(dataset) et lie le datagridview au dataset) etait plus rapide ke de passer par un datareader a partir duquel je rempirais ligne a ligne le datagridview.

Le probleme est que j'ai un champ booleen et je veux afficher une lettre ou une autre selon que cleui-ci est a true ou false et non 1 ou 0 (ou une case cochée ou non)

Comment puis_je faire pour "formater" ce qui apparait ds mon datagridview?

7 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 janv. 2007 à 13:25
Salut,

En fait, il faut t'inscrire a l'evenement CellFormating de ton DataGridView.
Dans la méthode associée à ton evenement, tu procédes ainsi :

<hr />if (
this.dataGridView.Columns[e.ColumnIndex].Name ==
"nomDeTaColonne")
{

   // ici tu affectes la valeur que tu souhaites a e.Value selon si sa valeur courante est true ou false
}

<hr />
Mx
MVP C# 
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 janv. 2007 à 13:25
Par ailleurs, voici une bonne référence pour travailler avec le DataGridView

http://www.windowsforms.net/Samples/Go%20To%20Market/DataGridView/DataGridView%20FAQ.doc

Mx
MVP C# 
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
23 janv. 2007 à 16:44
mais je peux pas creer mes colonnes avant d'avoir le datasource si?
comment faire ca: (this.dataGridView.Columns[e.ColumnIndex].Name == "nomDeTaColonne")

j'ai essayé

if (e.ColumnIndex == 5){

if ((
bool)e.Value ==
true){

e.Value =

"D";}

else e.Value =
"C";}

mais je recois un message d'erreur comme quoi D n'est pas un booleen, Comment recuper la valeur courante?
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
23 janv. 2007 à 16:48
en fait la colonne est du type checkbox et attend donc un booleen
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
23 janv. 2007 à 16:48
en fait la colonne est du type checkbox et attend donc un booleen
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 janv. 2007 à 16:48
J'imagine que c'est parce que l'assistant t'as créé un DataGridViewCheckboxColumn, et qu'il attend donc une valeur booleene. Va dans le code du designer et remplace cette colonne par un DataGridViewTextBoxColumn.

Sinon  si, tu peux tout a faire creer manuellement des colonnes dans ton DataGridView, il suffit d'instancier des DataGridViewTextboxColumn et de les ajouter a la collection Column de ton DataGridView

Mx
MVP C# 
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
23 janv. 2007 à 17:24
en fait c ce que je fais kan je remplis "manuellement" mes lignes a partir d'un datareader.
Mais quand je fais
datagrdview1.datasource=mondataset.tables[0];

il rempli tout tou seul et si ya des colonnes qui existent il rempli rien du tout il me semble
0
Rejoignez-nous