IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Comment mettre en forme mon GridView ?


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut [Comment mettre en forme mon GridView ?
    Bonjour,

    J'ai une gridview qui possède deux colonnes template.
    L'une contient une case à cocher, l'autre un simple champ input.

    Au chargement de la page (et donc de la gridiview), comment puis-je affecter la propriété "enable" de mon champs input selon l'état de ma case à cocher.

    Pour être plus clair, j'aimerais que mon champ input soit "grisé" (enable=false) qd la case a cocher est décochée.

    Ma question porte bien sur le changement de propriété d'un champ d'une gridview conditionnée par l'état d'un autre champ de cette même gridiview au chargement de la page.

    Merci par avance de votre aide, ca me serait d'un grand secours !

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut Up
    Personne pour m'aider ?

  3. #3
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Tu as essayé l'evenement ondatabinding?
    ensuite tu fabriques une fonction pour recuperer l'etat du champ et tu met ta case cochée ou non

  4. #4
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Merci pour l'info,

    Effectivement, l'évenement ondatabinding est interessant, mais je vois pas comment je peux Coder un algo de ce genre :

    Ondatabinding de "Ma_case_ à_cocher1" de ma gridview

    Si "Ma_case_ à_cocher1" est décochée
    {
    MonChampInput.Enable = false
    }
    sinon
    {
    MonChampInput.Enable = true
    }

    En autre, je me demande comment je peux référencer mes lignes de Gridview...
    Si qqun a une idée, je suis preneur

    Merci !

  5. #5
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Sinon tu fais un template de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Asp:TemplateField >
    <ItemTemplate>
    <ASP:Checkbox runat=server enabled=false
    checked="<%# Booleen %>" >
    </ItemTemplate>
    </Asp:TemplateField >
    a moins que je ne comprene réellement pas ton besoin ce qui est possible aussi... )

  6. #6
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Bonjour !

    Effectivement, je vais essayer d'être plus clair et de repartir a zero sur un exemple simpliste :

    Dans ma base de donnée, j'ai une table contenant deux champs :
    - 1 case a cocher "macase"
    - 1 Champs text "montext"

    Dans mon appli, je créer une gridview qui affiche ces champs (juste que là j'y arrive ). J'ai donc deux colonnes que j'ai choisi de créer en template (sur le principe de ton exemple ->bind("MaCase") et pour l'autre colonne bind("montext")).

    Jusque là, tout marche nickel.
    Ce que je voudrais, c'est que le champ "montext" soit grisé (enable=false) si la case "macase" est cochée. Je sais le faire si on clique dessus, mais lors de l'apparition de la gridview (intialisation), je ne sais pas comment m'y prendre...
    Merci de ta patience Arthis

  7. #7
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    tu peux faire de même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Asp:TemplateField >
    <ItemTemplate>
    <ASP:TextBox runat=server enabled="<%# Booleenquivientducheckbox %>"  >
    </ItemTemplate>
    </Asp:TemplateField >

    Ca t'irait comme ça?

  8. #8
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Oui, super, j'avais effectivement pas pensé à affecter directement la valeur de ma case à cocher à la propriété 'enable' !

    Ca marche, encore merci d'avoir pris le temps de me répondre.

    Je classe ce post en résolu !

    Sans vouloir être chiant, juste pour info, si j'avais voulu faire autre chose que changer une propriété de type booleen (comme c le cas pour le enable), c-a-d par exemple, si ma case est cochée, je veux que mon champs text s'affiche en rouge, comment aurais-je pu faire ? Ou aurais-je pu tester la valeur de la checkbox et affecter en conséquence la couleur adaptée du champ text ?

    En tout cas merci de ton aide, c pô grave si tu réponds pô a ma dernière remarque, c juste de la curiosité ;-)

  9. #9
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    sur l'evenement databinding tu databind ce que tu veux, la on s'est servi de l'etat de ta checkbox mais sinon tu as juste a declarer un variable protected et a faire un traitement dans ta page en code behind. ( enfin moi c'est ce que je fais.. )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:TextBox runat=server 
    ForeColor=<%# MacouleuraDataBinder%>></asp:TextBox>

    en code behind

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    protected string MacouleuraDataBinder
     
     
    pageload() //ou ailleurs
    {
    //traitement
    MacouleuraDataBinder= "#00FFFF"
    //traitement
    Monconteneur.databind()
    }

  10. #10
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par défaut
    Ok, ca marche nickel !

    Dans mon code behind, j'ai fais ca sur la propriété OndataBinding de ma checkbox et ca fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    protected void Chk_Choix_DataBindind(object sender, EventArgs e)
        {
     
            CheckBox chk = (CheckBox)sender;
            if (chk.Checked == true)
            {
                MacouleuraDataBinder = ColorTranslator.FromHtml("#00FFFF");
     
            }
            else
            {
                MacouleuraDataBinder = ColorTranslator.FromHtml("#000000");
     
            }
    }
    Sachant que dans le code de ma page j'ai bien 'binder' ma variable de couleur, comme tu me l'as appris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <asp:TextBox runat=server 
    ForeColor=<%# MacouleuraDataBinder%>></asp:TextBox>
    c cool !
    Encore merci de ton aide et de ta patience
    A+ !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment mettre en forme des données PHP?
    Par monlou dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 21/01/2010, 19h13
  2. Comment mettre en forme un FormView
    Par Anne1969 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 22/07/2008, 11h32
  3. comment mettre a jour mon noyau linux 2.6 sans supprimer l'ancienne version?
    Par jojodeparis dans le forum Administration système
    Réponses: 0
    Dernier message: 28/08/2007, 20h40
  4. Comment mettre a jours mon CD XP
    Par Skyline-gtr dans le forum Windows XP
    Réponses: 11
    Dernier message: 03/08/2007, 21h00
  5. [VB]Comment mettre en forme une grille de données
    Par CBleu dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/02/2006, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo