Gridview checkboxlist

Résolu
satsumy Messages postés 14 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 17 mars 2008 - 27 févr. 2008 à 14:16
satsumy Messages postés 14 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 17 mars 2008 - 3 mars 2008 à 16:55
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
3 mars 2008 à 16:32
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 ==
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
27 févr. 2008 à 18:50
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.
0
satsumy Messages postés 14 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 17 mars 2008
29 févr. 2008 à 16:08
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.
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 36
29 févr. 2008 à 21:36
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
0

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

Posez votre question
satsumy Messages postés 14 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 17 mars 2008
3 mars 2008 à 15:42
Salut,

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

Je désespère, si quelqu'un a une idée....
0
satsumy Messages postés 14 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 17 mars 2008
3 mars 2008 à 16:55
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
0