2011-06-07 1 views
1

Je n'arrive pas à trouver comment utiliser mon imagebutton (voir ci-dessous) dans mon ITemplate pour ajouter les données de ligne correspondantes du bouton (ItemID) en tant que chaîne de requête.Sélection d'un élément dans GridView avec le bouton Généré par ITemplate

Mon ImageButton dans mon ITemplate:

ImageButton select_button = new ImageButton(); 
select_button.ID = "select_button"; 
select_button.ImageUrl = "~/Files/System/Icons/highlighter.png"; 
select_button.CommandName = "Select"; 
select_button.ToolTip = "Select"; 
container.Controls.Add(select_button); 

Dois-je gérer dans dans le cas OnClick du ImageButton (si oui, est-il un moyen d'obtenir la ligne où le bouton est situé) ou puis-je gérer en dans les événements GridView (rowbinding, rowseleted, rowcommand, etc.)?

Je serais heureux d'élaborer plus sur mon code sur demande.^

Répondre

1

Vous pouvez définir l'ID dans la propriété CommandArgument de votre contrôle de bouton dans l'événement RowDataBound. Une fois que vous avez un identifiant, vous pouvez suivre les lignes avec.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     DataRow dr = ((DataRowView)e.Row.DataItem).Row; 
     ((Button)e.Row.FindControl("select_button")).CommandArgument = dr["IdColumn"].ToString(); 
    } 
} 
+0

Merci, je peux ajouter l'ID comme argument de commande dans ma page avec l'exemple que vous m'avez donné^^ –

Questions connexes