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 :

[c#] Changer la couleur d'éléments d'une table html


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut [c#] Changer la couleur d'éléments d'une table html
    bonsoir,
    j'aurais besoin, sur un click d'un CheckBoxList de changer la couleur de fond de lignes d'une table html.

    J'ai défini les éléments de la table html comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <table style="...">
                <tr>
                    <td style="...">
                        <id="t_cbl_q_01_11"> ...
    </td>
                    <td style="..." id="t_cbl_q_01_12">
    ...
    J'ai défini un événement javascript onclick sur le CheckBoxList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:CheckBoxList ID="cbl_q_01" onclick="PassageCbl('cbl_q_01')" runat="server" TabIndex="3" Width="286px">
                            <asp:ListItem Value="0">Non</asp:ListItem>
                            <asp:ListItem Value="1">Oui </asp:ListItem>
                       </asp:CheckBoxList>
    J'ai écrit la fonction javascript dans la section html comem ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function PassageCbl(Source)
        {
            document.all("t_" + Source + "_11").bgColor="magenta";
            document.all("t_" + Source + "_11").bgColor="magenta";
        }
    Là il ne se passe rien quand on clique sur le CheckBoxList.

    Quelqu'un a-t-il déjà fait ça ?

    Merci
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    l'événement javascript onclick " n'appartient pas " par défaut au control CheckBoxList.
    Il faut l'ajouter dans le code par exemple dans le form_load de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.cbl_q_01.Attributes.Add("onclick", "PassageCbl('cbl_q_01')")
    et tu le supprimes du code HTML.

    Par contre dans ta fonction javascript, tu effectues deux fois la même action,
    et comme tu codes en dure le numéro "_11" le changement de couleur se fera toujours sur la même cellule...

  3. #3
    Membre éclairé Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Points : 881
    Points
    881
    Par défaut
    Citation Envoyé par pcdj
    l'événement javascript onclick " n'appartient pas " par défaut au control CheckBoxList.
    Il faut l'ajouter dans le code par exemple dans le form_load de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.cbl_q_01.Attributes.Add("onclick", "PassageCbl('cbl_q_01')")
    et tu le supprimes du code HTML.

    Par contre dans ta fonction javascript, tu effectues deux fois la même action,
    et comme tu codes en dure le numéro "_11" le changement de couleur se fera toujours sur la même cellule...
    Merci pcdj,
    je me suis trompé le premier appel portait sur le numéro_11, l'autre sur _12.

    J'ai déjà utilisé le déclenchement de onclick d'un CheckBoxList pour appeler une fonction javascript qui produisait une alerte.

    Avec l'ajout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.cbl_q_01.Attributes.Add("onclick", "PassageCbl('cbl_q_01')")
    dans le form load j'obtiens un message "error on page" sur click dans cbl_q_01.

    Sans cet ajout dans le form load mais en modifiant la fonction comme ceci ça marche, mais juste pour le checkboxlist. Je cherche à atteindre la ligne du tableau dans laquelle le CheckBoxList est situé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function PassageCbl(Source)
        {
           document.all(Source).bgColor="magenta";
            document.all(Source).fgColor="white";    }
    (\ _ /)
    (='.'=) Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    C'est bizarre, je l'ai testé et je n'ai pas cette erreur chez moi.

  5. #5
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 131
    Points : 106
    Points
    106
    Par défaut
    teste ce bout de code les éléments importants sont dans le js

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <script>
    function laction(child)
    {
    <div style="margin-left:40px">//la case à cocher
    child.setAttribute("style","background-color:green;");
     
    //la cellule
    cellule = child.parentNode;
    cellule.setAttribute("style","background-color:Yellow;color:Green;");
    //la ligne
    ligne = cellule .parentNode;
    ligne.setAttribute("style","background-color:Blue;color:Green;");</div>}
    </script>
     
    </head>
    <body>
    <form>
    <table id="table">
    <div style="margin-left:40px"><tr id="tr1">
    <div style="margin-left:40px"><td id="td1">
    td1
    </td>
    <td id="td2">
    td2
    <input type="checkbox" id="pass" onclick="laction(this)"/>
    </td></div></tr>
    <tr id="tr2">
    <div style="margin-left:40px"><td id="td3">
    td3
    </td>
    <td id="td4">
    td4
    </td></div></tr></div></table>
        </form>
    </body>
    </html>
    je suppose que c sa que tu veux

Discussions similaires

  1. Changer la couleur de lignes d'une table mémoire
    Par gbrion dans le forum WinDev
    Réponses: 2
    Dernier message: 15/03/2007, 16h25
  2. Changer la couleur de fond d'une table
    Par sorry60 dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 14/01/2007, 21h49
  3. Comment changer la couleur de fond d'une ligne du TRichEdit
    Par tibi666 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/09/2005, 17h31
  4. [CSS]Changer l'interligne des éléments d'une liste à puces
    Par khany dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/03/2005, 13h57
  5. Réponses: 2
    Dernier message: 03/02/2005, 23h42

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