Checkbox en Template dans Un GridView [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
14 décembre 2005
-
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018
-
Bonjour,



J'ai un Gridview qui est créé dans mon Page_Load avec comme dataSource
un dataSet (qui vient d'un webservice, donc qui est réinitialisé à
chaque chargement de passe). Bref dans ce grid view il me faut une
colonne de checkbox pour pour choisir qu'elle élément de ce tableau
sont selectionnées pour executer différentes action dessus. Mais je
n'arrive pas récupérer qu'elle sont les checkbox selectionnées. Voici
mon gridView




















' />











' SortExpression="name">








' SortExpression="nickName">








'
SortExpression="authorNickName">








'
SortExpression="category">








'
DataFormatString="{0:dd/MM/yy}" HtmlEncode="False"
SortExpression="date">








' SortExpression="task">








'
SortExpression="statute">








'
HeaderImageUrl="~/Picture/link.jpg" >








'
HeaderImageUrl="~/Picture/note.jpg" >














J'ai essayé plusieur méthodes pour
mes actions qui sont effectuées en fonction des checkbox, se sont des
LinkButton, mais quand je presse sur le linkbutton la page est
rechargée et toutes les checkox redeviennent non selectionées (du
coup... ça marche pas).



2ème problème, je n'arrive pas à recupérer la valeur "id" qui se trouve dans le HiddenField du TemplateField...



Si vous pourriez me dire ce que je fais faux ou ce que je ne comprends
pas... (c'est mon premier projet .Net et je bloque la-dessus depuis ce
matin...).



Merci!

5 réponses

Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009

J'ai fais ça vite fait, mais essaye d'utiliser ça :
Ca parcourt les lignes de ton gridview et regarde celle dont la checkbox est coché et te renvoi la liste des valeur de ton champs caché. Je sais pas si c'est exactement ça que tu voulais, mais au pire, tu pourras toujours l'adapter ^__^

public string ValeursCochees()
{
string strValRet = "";

// Select the checkboxes from the GridView control
for (int i = 0; i < gridView.Rows.Count; i++)
{
GridViewRow row = gridView.Rows[i];
bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked;

if (isChecked)
{
strValRet += ((HtmlInputHidden)row.FindControl("hidden")).Value + "; ";
}
}

return strValRet;
}
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Pour ne pas recharger tes données à chaque load, tu peux faire un

if not page.ispostback then
me.Gridview1.objectdatasource = truc
me.gridView1.databind()
end if

pour l'autre problème j'ai pas trop compris ce que tu voulais faire :p


<HR>
Cyril - MVS - MCP ASP
Messages postés
2
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
14 décembre 2005

Merci, c'était ça que je voulais!

J'ai juste changé le for par foreach et ça Rock's!

++
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009

c'est vrai qu'un foreach, c'est mieux !
Bon, ben nickel alors :)
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018

bonjour
en vb ca donne quoi svp

merci