Bonjour;
j'ai un souci et malgré toute les réponses a ce sujet je n'ai pas réussi a trouvé la solution : ( j'aimerai récupéré l'index du bouton sur lequel je click (dans une gridview - ButtonField) merci <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Merci pour cette réponse rapide j'ai oublier de préciser que ct en c#.net ,le bouton est dans une gridview, je voudrai récupéré la ligne sur lequel le bouton est cliqué. Je v quand meme regardé merci
C'est assez simple en fait.
Il faut donner un commandName au gridView. Cette action sera à placer dans un ButtonField (Lien, Image ou Bouton).
Ensuite sur l'évènement onRowCommand faire:
if e.CommandName.Equals("maCommande") then
' Je récupère le numéro de la ligne sélectionnée.
Dim index as integer = Convert.ToInt32(e.CommandArgument)
' Je récupère la ligne sélectionnée
Dim row as GridViewRow = monGridView.Rows(index)
' Je peux maintenant avoir accès à tous mes champs
Dim monId as Integer = Integer.Parse(row.Cells(0).Text) ' Par exemple
...
Traitement à réaliser
...
end if
tu peux maintenant avec ma méthode accéder à ton bouton en faisant:
dim monBouton as Button = CType(row.FindControl("leBouton"), Button)
ensuite tu pourras récupérer l'index en faisant: monBouton.ClientID
bonjour, voila pour récupérer l'indexe dans ton grid moi j'utilise cette astuce:
d'abord si tu remplis ton grid dans la page loader tu auras une erreur du genre cause validation enable = false .....
donc il faut remplire ton grid dans:
if (!IsPostBack)
{
Remplire_GridCategorie(); // exemple de nom de mon grid
}
ensuite tu ajoute une colonne dans ton grid avec un button ou image button et dont sont commandeargument tu le met eval quelque chose qui contient ta ligne
exemple dans mon grid jai mis:
' onclick="Modifier_Click" ToolTip="Modifier" />
la clé primair Ligne c'est une colonne dans mon grid voila comment je lé remplie:
DataTable dTable = new DataTable();
DataRow dRow = null;
dTable.Columns.Add("Ligne");
dTable.Columns.Add("Id");
dTable.Columns.Add("Categorie");
for (int i = 0; i < List_Categorie.Count; i++)
{
dRow = dTable.NewRow();
dRow["Ligne"] = i; // i allant de 0 jusqu'a la longeur de ma liste(list catégorie)
dRow["Id"] = "tu peut mettre ce que tu veux comme id ou autre chose";
dRow["Categorie"] = "bla bla bla bla"; // ...etc
voila tou j'èspéere que c'est s'imple si t'as pas bien compris envois moi un mail sur hamoudaman@yahoo.fr et je t'envérai un petit projet c# et bonne chance