OVH Cloud OVH Cloud

Coloriser les lignes sélectionnées d'un datagrid

7 réponses
Avatar
Thibault
Bonsoir,

J'ai un datagrid avec dans ma première colonne un checkbox par ligne.
Lorsque je check mon checkbox j'aimerais changer la couleur de la ligne
comment dois je procéder ?

Une url ou une ressource seraient les bienvenue

Merci

7 réponses

Avatar
Olivier D
en windows ou en asp.net ??


"Thibault" a écrit dans le message de
news:
Bonsoir,

J'ai un datagrid avec dans ma première colonne un checkbox par ligne.
Lorsque je check mon checkbox j'aimerais changer la couleur de la ligne
comment dois je procéder ?

Une url ou une ressource seraient les bienvenue

Merci


Avatar
Thibault
En ASP.NET (VB)

"Olivier D" wrote:

en windows ou en asp.net ??


"Thibault" a écrit dans le message de
news:
> Bonsoir,
>
> J'ai un datagrid avec dans ma première colonne un checkbox par ligne.
> Lorsque je check mon checkbox j'aimerais changer la couleur de la ligne
> comment dois je procéder ?
>
> Une url ou une ressource seraient les bienvenue
>
> Merci





Avatar
Olivier D
Je te donne la réponse en javascript c'est à dire sans aller retour serveur
:

Prenons un petit tableau
<table border="1">
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);" /></td>
</tr>
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);" /></td>
</tr>
</table>

Tu peux remarquer un appel à une fonction javascript changerCouleur et je
lui passe l'élément en cours la checkbox.
function changerCouleur(ck){

// On recherche la balise tr parent
var ligne = trouveLigneParent(ck);
if ( ligne != null)
ligne.bgColor = "red";
}// ChangerCouleur

Ma fonction changerCouleur va demander à la fonction trouveLigneParent de
... tu sais quoi
function trouveLigneParent(enfant){

var parent = enfant.parentElement;
if(parent.tagName.toLowerCase() != "tr")
return trouveLigneParent(parent);
else
return parent;
}// TrouveLigneParent

Ma fonction regarde l'élément parent et vérifie s'il s'agit d'une balise tr
si c le cas on renvoi l'élément trouver

Une fois trouver la fonction changerCouleur change la couleur de la ligne.
Tu peux aussi mettre une class qui fait référence à une feuille de style.

Dis moi si c'est ce que tu voulais

"Thibault" a écrit dans le message de
news:
En ASP.NET (VB)

"Olivier D" wrote:

en windows ou en asp.net ??


"Thibault" a écrit dans le message
de
news:
> Bonsoir,
>
> J'ai un datagrid avec dans ma première colonne un checkbox par ligne.
> Lorsque je check mon checkbox j'aimerais changer la couleur de la ligne
> comment dois je procéder ?
>
> Une url ou une ressource seraient les bienvenue
>
> Merci







Avatar
Thibault
Oui c'est ce que je voulais mais est ce que je peux l'adapter a un datagrid ?

"Olivier D" a écrit :

Je te donne la réponse en javascript c'est à dire sans aller retour serveur
:

Prenons un petit tableau
<table border="1">
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);" /></td>
</tr>
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);" /></td>
</tr>
</table>

Tu peux remarquer un appel à une fonction javascript changerCouleur et je
lui passe l'élément en cours la checkbox.
function changerCouleur(ck){

// On recherche la balise tr parent
var ligne = trouveLigneParent(ck);
if ( ligne != null)
ligne.bgColor = "red";
}// ChangerCouleur

Ma fonction changerCouleur va demander à la fonction trouveLigneParent de
.... tu sais quoi
function trouveLigneParent(enfant){

var parent = enfant.parentElement;
if(parent.tagName.toLowerCase() != "tr")
return trouveLigneParent(parent);
else
return parent;
}// TrouveLigneParent

Ma fonction regarde l'élément parent et vérifie s'il s'agit d'une balise tr
si c le cas on renvoi l'élément trouver

Une fois trouver la fonction changerCouleur change la couleur de la ligne.
Tu peux aussi mettre une class qui fait référence à une feuille de style.

Dis moi si c'est ce que tu voulais

"Thibault" a écrit dans le message de
news:
> En ASP.NET (VB)
>
> "Olivier D" wrote:
>
>> en windows ou en asp.net ??
>>
>>
>> "Thibault" a écrit dans le message
>> de
>> news:
>> > Bonsoir,
>> >
>> > J'ai un datagrid avec dans ma première colonne un checkbox par ligne.
>> > Lorsque je check mon checkbox j'aimerais changer la couleur de la ligne
>> > comment dois je procéder ?
>> >
>> > Une url ou une ressource seraient les bienvenue
>> >
>> > Merci
>>
>>
>>





Avatar
Olivier D
Normalement oui il faut que tu mettes le déclenchement de l'évènement
onclick dans ta checkbox dans le datagrid et ensuite adapte le javascript au
html rendu par le datagrid.
Si tu y arrives pas envoi ton code aspx et le rendu du datagrid html.


"Thibault" a écrit dans le message de
news:
Oui c'est ce que je voulais mais est ce que je peux l'adapter a un
datagrid ?

"Olivier D" a écrit :

Je te donne la réponse en javascript c'est à dire sans aller retour
serveur
:

Prenons un petit tableau
<table border="1">
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);"
/></td>
</tr>
<tr>
<td>dfdfsf</td>
<td>dssq</td>
<td>dfeazeazdfsf</td>
<td>dfeazeazdfsf</td>
<td><input type="checkbox" onclick="changerCouleur(this);"
/></td>
</tr>
</table>

Tu peux remarquer un appel à une fonction javascript changerCouleur et je
lui passe l'élément en cours la checkbox.
function changerCouleur(ck){

// On recherche la balise tr parent
var ligne = trouveLigneParent(ck);
if ( ligne != null)
ligne.bgColor = "red";
}// ChangerCouleur

Ma fonction changerCouleur va demander à la fonction trouveLigneParent de
.... tu sais quoi
function trouveLigneParent(enfant){

var parent = enfant.parentElement;
if(parent.tagName.toLowerCase() != "tr")
return trouveLigneParent(parent);
else
return parent;
}// TrouveLigneParent

Ma fonction regarde l'élément parent et vérifie s'il s'agit d'une balise
tr
si c le cas on renvoi l'élément trouver

Une fois trouver la fonction changerCouleur change la couleur de la
ligne.
Tu peux aussi mettre une class qui fait référence à une feuille de style.

Dis moi si c'est ce que tu voulais

"Thibault" a écrit dans le message
de
news:
> En ASP.NET (VB)
>
> "Olivier D" wrote:
>
>> en windows ou en asp.net ??
>>
>>
>> "Thibault" a écrit dans le
>> message
>> de
>> news:
>> > Bonsoir,
>> >
>> > J'ai un datagrid avec dans ma première colonne un checkbox par
>> > ligne.
>> > Lorsque je check mon checkbox j'aimerais changer la couleur de la
>> > ligne
>> > comment dois je procéder ?
>> >
>> > Une url ou une ressource seraient les bienvenue
>> >
>> > Merci
>>
>>
>>







Avatar
Thibault
ton code ne fonctionne pas si j'ai spécifié une couleur pour
l'AternatingItemStyle et lorsque je décoche ma checkbox, les lignes restent
toujours en rouge ....

"Olivier D" a écrit :

Normalement oui il faut que tu mettes le déclenchement de l'évènement
onclick dans ta checkbox dans le datagrid et ensuite adapte le javascript au
html rendu par le datagrid.
Si tu y arrives pas envoi ton code aspx et le rendu du datagrid html.


"Thibault" a écrit dans le message de
news:
> Oui c'est ce que je voulais mais est ce que je peux l'adapter a un
> datagrid ?
>
> "Olivier D" a écrit :
>
>> Je te donne la réponse en javascript c'est à dire sans aller retour
>> serveur
>> :
>>
>> Prenons un petit tableau
>> <table border="1">
>> <tr>
>> <td>dfdfsf</td>
>> <td>dssq</td>
>> <td>dfeazeazdfsf</td>
>> <td>dfeazeazdfsf</td>
>> <td><input type="checkbox" onclick="changerCouleur(this);"
>> /></td>
>> </tr>
>> <tr>
>> <td>dfdfsf</td>
>> <td>dssq</td>
>> <td>dfeazeazdfsf</td>
>> <td>dfeazeazdfsf</td>
>> <td><input type="checkbox" onclick="changerCouleur(this);"
>> /></td>
>> </tr>
>> </table>
>>
>> Tu peux remarquer un appel à une fonction javascript changerCouleur et je
>> lui passe l'élément en cours la checkbox.
>> function changerCouleur(ck){
>>
>> // On recherche la balise tr parent
>> var ligne = trouveLigneParent(ck);
>> if ( ligne != null)
>> ligne.bgColor = "red";
>> }// ChangerCouleur
>>
>> Ma fonction changerCouleur va demander à la fonction trouveLigneParent de
>> .... tu sais quoi
>> function trouveLigneParent(enfant){
>>
>> var parent = enfant.parentElement;
>> if(parent.tagName.toLowerCase() != "tr")
>> return trouveLigneParent(parent);
>> else
>> return parent;
>> }// TrouveLigneParent
>>
>> Ma fonction regarde l'élément parent et vérifie s'il s'agit d'une balise
>> tr
>> si c le cas on renvoi l'élément trouver
>>
>> Une fois trouver la fonction changerCouleur change la couleur de la
>> ligne.
>> Tu peux aussi mettre une class qui fait référence à une feuille de style.
>>
>> Dis moi si c'est ce que tu voulais
>>
>> "Thibault" a écrit dans le message
>> de
>> news:
>> > En ASP.NET (VB)
>> >
>> > "Olivier D" wrote:
>> >
>> >> en windows ou en asp.net ??
>> >>
>> >>
>> >> "Thibault" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonsoir,
>> >> >
>> >> > J'ai un datagrid avec dans ma première colonne un checkbox par
>> >> > ligne.
>> >> > Lorsque je check mon checkbox j'aimerais changer la couleur de la
>> >> > ligne
>> >> > comment dois je procéder ?
>> >> >
>> >> > Une url ou une ressource seraient les bienvenue
>> >> >
>> >> > Merci
>> >>
>> >>
>> >>
>>
>>
>>





Avatar
Olivier D
Il faut que tu regardes quel balise utilise le datagrid pour mettre une
couleur dans la ligne pour "passer dessus".
Par exemple : si il utilise une classe ( <tr class="couleur"> ) il faut que
tu passes dessus en javascript tr.className si il utilise un attribut ( <tr
bgcolor="red"> ) pareil tr.bgcolor comme dans le javascript que je t envoyé.
Ensuite si tu décoches ta checkbox c'est normal, si tu regardes ton fichier
javascript je n'ai pas utilisé la valeur de ta case a cocher, donc dans le
javascript il faut que tu regardes si ta case a cocher est "cocher" si oui
tu changes la couleur si non ... non.

alert(caseAcocher.checked);

en javascript et tu auras la valeur de la checkbox ensuite il te reste juste
un peu de prog


"Thibault" a écrit dans le message de
news:
ton code ne fonctionne pas si j'ai spécifié une couleur pour
l'AternatingItemStyle et lorsque je décoche ma checkbox, les lignes
restent
toujours en rouge ....

"Olivier D" a écrit :

Normalement oui il faut que tu mettes le déclenchement de l'évènement
onclick dans ta checkbox dans le datagrid et ensuite adapte le javascript
au
html rendu par le datagrid.
Si tu y arrives pas envoi ton code aspx et le rendu du datagrid html.


"Thibault" a écrit dans le message
de
news:
> Oui c'est ce que je voulais mais est ce que je peux l'adapter a un
> datagrid ?
>
> "Olivier D" a écrit :
>
>> Je te donne la réponse en javascript c'est à dire sans aller retour
>> serveur
>> :
>>
>> Prenons un petit tableau
>> <table border="1">
>> <tr>
>> <td>dfdfsf</td>
>> <td>dssq</td>
>> <td>dfeazeazdfsf</td>
>> <td>dfeazeazdfsf</td>
>> <td><input type="checkbox" onclick="changerCouleur(this);"
>> /></td>
>> </tr>
>> <tr>
>> <td>dfdfsf</td>
>> <td>dssq</td>
>> <td>dfeazeazdfsf</td>
>> <td>dfeazeazdfsf</td>
>> <td><input type="checkbox" onclick="changerCouleur(this);"
>> /></td>
>> </tr>
>> </table>
>>
>> Tu peux remarquer un appel à une fonction javascript changerCouleur et
>> je
>> lui passe l'élément en cours la checkbox.
>> function changerCouleur(ck){
>>
>> // On recherche la balise tr parent
>> var ligne = trouveLigneParent(ck);
>> if ( ligne != null)
>> ligne.bgColor = "red";
>> }// ChangerCouleur
>>
>> Ma fonction changerCouleur va demander à la fonction trouveLigneParent
>> de
>> .... tu sais quoi
>> function trouveLigneParent(enfant){
>>
>> var parent = enfant.parentElement;
>> if(parent.tagName.toLowerCase() != "tr")
>> return trouveLigneParent(parent);
>> else
>> return parent;
>> }// TrouveLigneParent
>>
>> Ma fonction regarde l'élément parent et vérifie s'il s'agit d'une
>> balise
>> tr
>> si c le cas on renvoi l'élément trouver
>>
>> Une fois trouver la fonction changerCouleur change la couleur de la
>> ligne.
>> Tu peux aussi mettre une class qui fait référence à une feuille de
>> style.
>>
>> Dis moi si c'est ce que tu voulais
>>
>> "Thibault" a écrit dans le
>> message
>> de
>> news:
>> > En ASP.NET (VB)
>> >
>> > "Olivier D" wrote:
>> >
>> >> en windows ou en asp.net ??
>> >>
>> >>
>> >> "Thibault" a écrit dans le
>> >> message
>> >> de
>> >> news:
>> >> > Bonsoir,
>> >> >
>> >> > J'ai un datagrid avec dans ma première colonne un checkbox par
>> >> > ligne.
>> >> > Lorsque je check mon checkbox j'aimerais changer la couleur de la
>> >> > ligne
>> >> > comment dois je procéder ?
>> >> >
>> >> > Une url ou une ressource seraient les bienvenue
>> >> >
>> >> > Merci
>> >>
>> >>
>> >>
>>
>>
>>