GridView spécial Update

Mickey VB Messages postés 50 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 janvier 2007 - 12 avril 2006 à 11:15
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 12 avril 2006 à 16:25
Bonjour,
dans un gridview j'ai insérer une colonne avec des images et un évènement onclick qui fait changer l'image affichée (ASP 2.0) :

[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
A voir également:

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2006 à 14:22
Bonjour,

je ne vois pas de problème ! tu changes tes images via javascript, comment voudrais tu que le serveur sache que tu as modifié tes images ? il faudrais stocker les images modifié dans un input hidden (via js), et ainsi coté serveur tu pourras recuperer le input hidden et voir ce qui a été fait coté client :)


<HR>
Cyril - MVS - MCP
0
Mickey VB Messages postés 50 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 janvier 2007
12 avril 2006 à 14:49
Logique
Merci Cyril

Alors, je rajoute dans mon gridView un input type text:


[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2006 à 15:25
Qu'est-ce qu'il a de derangeant de le mettre à l'exterieur du gridview ? au contraire ce sera beaucoup plus performant car tu écriras moins de choses dans la page (donc plus legere) aprés il faudra faire une fonction js qui serialise ses informations dans un seul champs (rien de trés compliqué) et pareil coté serveur :)

et au lieu d'ecrire à chaque image onclick="JavaScript:if (this.src==tab_image[1].src) {this.src=tab_image[0].src;} else {this.src=tab_image[1].src;}" écrit plutot onclick="unefonction" et rajoute avec page.clientScript.registerStartupScript une fonction js a ta page !


<HR>
Cyril - MVS - MCP
0
Mickey VB Messages postés 50 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 janvier 2007
12 avril 2006 à 15:41
Je vois ce que tu veux dire.
Bon alors j'ai une question idiote:
Comment je mentionne dans ma fonction qu'elle image a été modifiée.

Car si j'ai 50 lignes dans mon datagrid, je dois repérér dans la valeur de mon input quelle ligne j'ai modifié.
J'ai l'impression de tourner en rond avec ce pb.

Mickey
[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
0

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

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2006 à 15:53
var unefonction = function()
{
// this correspond à l'image sur laquelle t'as cliqué
alert(this.id); // te retournera le ClientID de l'image
}

sinon


)"
runat="server"
/>

var unefonction = function(elmt, pk)
{
//elmlt correspond à l'image que t'as clické
//pk a la clé primaire de la ligne
elmt.src (elmt.src tab_image[1].src) ? tab_image[0].src : tab_image[1].src;

// je gere pas si le gars click plusieurs fois dessus, faudrais d'abord deserialiser avec un split(';') etc...
document.getElementById('inputhidden').value += pk + '=' + ((elmt.src == tab_image[1].src) ? 0 : 1) + ';';

}


<HR>
Cyril - MVS - MCP
0
Mickey VB Messages postés 50 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 janvier 2007
12 avril 2006 à 15:58
Alors je suis ton raisonnement, sauf pour <% ta clé %>
Je la sors d'ou?
C'et un gridview donc qu'une ligne pour l' img.
don comment je peux récupérer le numéro de la ligne?

Dsl mais j'ai du mal à comprendre

Mickey
[mailto:mcordeiro@fr.ebsco.com mcordeiro@fr.ebsco.com]
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
12 avril 2006 à 16:25
si c'est un gridview tu as bien un dataset ou autre ? donc au lieu de ta clé il faudra mettre <%= Container.DataItem("LigneID") %>


<HR>
Cyril - MVS - MCP
0
Rejoignez-nous