Gridview checkboxlist [Résolu]

Signaler
Messages postés
14
Date d'inscription
samedi 15 décembre 2007
Statut
Membre
Dernière intervention
17 mars 2008
-
Messages postés
14
Date d'inscription
samedi 15 décembre 2007
Statut
Membre
Dernière intervention
17 mars 2008
-
Bonjour à tous,

Alors, j'ai un gridview alimenté par un sqldatasource contenant ma procédure stockée.
J'ai un champs "statut" qui peut contenir commme valeur 0 ou 1 ou 2.
J'aimerai représenter ce champs dans une  colonne checkboxlist de mon gridview et que la case soit cochée si la valeur du statut est 2. Et si c'est 1 ou 2 je voudrais afficher un message dans la propriété text du checkboxlist.
Voila, je pense que ce ne soit pas trop compliqué mais je débute. Je travaille en asp.net et c#.
Merci !!

6 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
salut

    protected bool affiche_statut_main(object statut)
    {
        bool res = false;
        if (Convert.ToBoolean((int)statut == 2))
        {
            res = true;
        }
        return res;
    }

fonctionne chez moi?

Il manquait bien le == et (en plus le int) mais comme tu n'a pas indiqué le message d'erreur, j'ai été obligé de refaire ton programme à l'aveugle ;-)
pour trouver ton erreur

il faut bannir les ne marche pas du forum surtout que le message est assez parlant

operateur == ne ^peut etre appliqué entre un objet et un int
reaction on mets tout le monde en int

Dans le cas précédent = 2 --> affectation il donc pas de message je comprends.
une comparaison en c# c'est ==
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut

Base toi sur l'evenement
RowDataBound
de ton gridview
à l'interieur recherche ton composant de ton template par exemple
(e.Row().FindControl("Label1") as Label).Text = manouvelleversion;

Sinon parcours les cellules de e.row() et surcharge les propriété ou les valeurs tu aussi surcharger le style CssClass, les possibilité sont infinies, il est possible aussi d'ajouter des contrôles dynamiquement pendant cette phase.
Messages postés
14
Date d'inscription
samedi 15 décembre 2007
Statut
Membre
Dernière intervention
17 mars 2008

Bonjour, et merci d'avoir répondu !!!

Bon comme je suis débutante, je ne vois pas trop ce que tu veux mettre dans "manouvelleversion". Sinon moi je ne suis pas allé vers les solutions que tu m'as proposé.

J'ai créer une fonction dans le code behind du genre :
protected bool affiche_statut_main(object statut)

{
bool res = false;
if (Convert.ToBoolean(statut= 2) )
{
res = true;
}
return res;
}

 et dans le code aspx de mon gridview j'ai fait ca :

<ItemTemplate>

<table
style="font-size:small">

<asp:CheckBox
ID="CheckBox1"
runat="server"
Checked='<%# affiche_statut_main(DataBinder.Eval(Container, "DataItem.statut"))%>
'
>

</asp:CheckBox>

</table>

</ItemTemplate>

Mais malheureusement ça marche pas, il me coche toutes les cases même celle qui ne sont pas à la valeur 2 !!!Est-ce que tu pourrais me dire si ma soluce peut marcher et si possible m'aider ou alors expliquer plus en détail tes solutions stp.
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Il me semble que c'est statut==
2
que tu cherches
Les deux methodes reviennent un peu au meme à la fin.

Dans ma methode je ne charge pas le html avec du code metier ou des calculs
Messages postés
14
Date d'inscription
samedi 15 décembre 2007
Statut
Membre
Dernière intervention
17 mars 2008

Salut,

Merci d'avoir répondu mais le statut = = 2 ne marche pas...

Je désespère, si quelqu'un a une idée....
Messages postés
14
Date d'inscription
samedi 15 décembre 2007
Statut
Membre
Dernière intervention
17 mars 2008

Merci beaucoup de t'être penché sur mon problème, tu avais raison (mais tu t'en doutais je pense)

Ca marche super bien, heureusement qu'il a des gens comme toi pour sortir des gens comme moi de leur problèmes.

Merci encore