OVH Cloud OVH Cloud

Clic sur une cellule d'un DataGrid

7 réponses
Avatar
TheHach
Bonjour.

J'ai un datagrid, et j'aimerais ajouter un événement "clic" sur certaines
de ses cellules pour changer la couleur des cellules suivantes.
Je connais la procédure DataGrid1_ItemCommand qui contiendra le code pour
changer la couleur, mais je ne sais pas comment affecter un événement
"onclick" sur la cellule... (Et je ne peux pas ajouter de contrôle Bouton -
par exemple - dans la cellule, le tableau deviendrait beaucoup trop grand
!!)
C'est possible ou pas ? Et si oui, comment ???

Merci d'avance

7 réponses

Avatar
Sebastien Bovo [MS]
Bonjour,

A la creation de la cellule (dans le ItemDataBound), tu peux rajouter dans
ton code serveur du type :

e.Item.Attributes.Add("onclick", "this.style.backgroundColor='#123456'")



--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés à son utilisation.

"TheHach" a écrit dans le message de news:

Bonjour.

J'ai un datagrid, et j'aimerais ajouter un événement "clic" sur certaines
de ses cellules pour changer la couleur des cellules suivantes.
Je connais la procédure DataGrid1_ItemCommand qui contiendra le code pour
changer la couleur, mais je ne sais pas comment affecter un événement
"onclick" sur la cellule... (Et je ne peux pas ajouter de contrôle
Bouton -
par exemple - dans la cellule, le tableau deviendrait beaucoup trop grand
!!)
C'est possible ou pas ? Et si oui, comment ???

Merci d'avance



Avatar
Sebastien Bovo [MS]
Voici un exemple :
http://www.c-sharpcorner.com/Code/2003/June/DataGridClientSideEvents.asp

--
Cordialement,

Sebastien Bovo
Microsoft France
----------
Ce message est fourni en l'état, sans garantie d'aucune sorte, et ne vous
confère aucun droit. Vous assumez tous les risques liés à son utilisation.

"TheHach" a écrit dans le message de news:

Bonjour.

J'ai un datagrid, et j'aimerais ajouter un événement "clic" sur certaines
de ses cellules pour changer la couleur des cellules suivantes.
Je connais la procédure DataGrid1_ItemCommand qui contiendra le code pour
changer la couleur, mais je ne sais pas comment affecter un événement
"onclick" sur la cellule... (Et je ne peux pas ajouter de contrôle
Bouton -
par exemple - dans la cellule, le tableau deviendrait beaucoup trop grand
!!)
C'est possible ou pas ? Et si oui, comment ???

Merci d'avance



Avatar
TheHach
Merci beaucoup, mais en fait, y'a pas que la cellule du tableau qui doit
changer de couleur : il faut aussi qu'un champ de ma base Oracle soit
mis à jour... Ca ne fonctionne donc pas en javascript, ça...
Comment je peux faire ça ??

Merci d'avance

(PS : je suis en VB.NET.)


"Sebastien Bovo [MS]" wrote in
news::

Bonjour,

A la creation de la cellule (dans le ItemDataBound), tu peux rajouter
dans ton code serveur du type :

e.Item.Attributes.Add("onclick",
"this.style.backgroundColor='#123456'")





Avatar
TheHach
TheHach wrote in
news::

Merci beaucoup, mais en fait, y'a pas que la cellule du tableau qui doit
changer de couleur : il faut aussi qu'un champ de ma base Oracle soit
mis à jour... Ca ne fonctionne donc pas en javascript, ça...
Comment je peux faire ça ??

Merci d'avance

(PS : je suis en VB.NET.)






Personne n'a d'idées ??? :-(
Avatar
Mathieu
Clique droit sur ton datagrid -> générateur de propriété -> Colonnes ->
Colonne de bouton -> tu ajoutes celui qui se nomme modifier mettre a jour ->
tu ajoutes egalement celui qui selectionne
ca a pour but de te mettre une colonne bouton sur le cote
Quand tu cliqueras sur selectionner (sur ta page web) modif, update
s'afficheront ainsi que les champs que tu souhaite mettre a jour
Maintenant si c'est bien ca que tu veux faire signale le moi, car tu dois
encore faire un truc pour ajouter un textbox par exemple dans la colonne
(champs) de celui que tu veux mettre a jour.

Mathieu

"TheHach" a écrit dans le message de news:

TheHach wrote in
news::

> Merci beaucoup, mais en fait, y'a pas que la cellule du tableau qui doit
> changer de couleur : il faut aussi qu'un champ de ma base Oracle soit
> mis à jour... Ca ne fonctionne donc pas en javascript, ça...
> Comment je peux faire ça ??
>
> Merci d'avance
>
> (PS : je suis en VB.NET.)
>
>


Personne n'a d'idées ??? :-(


Avatar
TheHach
"Mathieu" wrote in
news:42f0ac0c$0$330$:

Clique droit sur ton datagrid -> générateur de propriété -> Colonnes
-> Colonne de bouton -> tu ajoutes celui qui se nomme modifier mettre
a jour -> tu ajoutes egalement celui qui selectionne
ca a pour but de te mettre une colonne bouton sur le cote
Quand tu cliqueras sur selectionner (sur ta page web) modif, update
s'afficheront ainsi que les champs que tu souhaite mettre a jour
Maintenant si c'est bien ca que tu veux faire signale le moi, car tu
dois encore faire un truc pour ajouter un textbox par exemple dans la
colonne (champs) de celui que tu veux mettre a jour.

Mathieu




Merci pour ta réponse, mais c'est pas vraiment ce que je veux faire.
Quand je parle de champ à mettre à jour, c'est pas un champ de
formulaire, mais un champ d'une base de données... (Un statut qui doit
passer de 1 à 2....)
Donc ta solution ne fonctionne pas.
J'ai passé ma matinée à fouiller sur le net, et apparemment, sans
contrôle dans la cellule, ça ne fonctionne pas.
Je vais donc essayer de mettre un linkbutton avec une image vide
transparente dans les différentes cellules concernées.

Merci quand même.
Avatar
Mathieu
heu comment ca ???
Si c'est faire passer une valeur de 1 a 2 c'est faire une mise a jour dans
la BD ?
Donc mon truc fonctionne
Soit je n'ai pas compris ce que tu voulais faire alors
desole

Mathieu

"TheHach" a écrit dans le message de news:

"Mathieu" wrote in
news:42f0ac0c$0$330$:

> Clique droit sur ton datagrid -> générateur de propriété -> Colonnes
> -> Colonne de bouton -> tu ajoutes celui qui se nomme modifier mettre
> a jour -> tu ajoutes egalement celui qui selectionne
> ca a pour but de te mettre une colonne bouton sur le cote
> Quand tu cliqueras sur selectionner (sur ta page web) modif, update
> s'afficheront ainsi que les champs que tu souhaite mettre a jour
> Maintenant si c'est bien ca que tu veux faire signale le moi, car tu
> dois encore faire un truc pour ajouter un textbox par exemple dans la
> colonne (champs) de celui que tu veux mettre a jour.
>
> Mathieu
>

Merci pour ta réponse, mais c'est pas vraiment ce que je veux faire.
Quand je parle de champ à mettre à jour, c'est pas un champ de
formulaire, mais un champ d'une base de données... (Un statut qui doit
passer de 1 à 2....)
Donc ta solution ne fonctionne pas.
J'ai passé ma matinée à fouiller sur le net, et apparemment, sans
contrôle dans la cellule, ça ne fonctionne pas.
Je vais donc essayer de mettre un linkbutton avec une image vide
transparente dans les différentes cellules concernées.

Merci quand même.