2009-04-24 1 views

Répondre

4

Essayez ceci:

((System.Web.UI.WebControls.Image)(GridView2.Rows[0].Cells[0].Controls[0])).ImageUrl = "~/createthumb.ashx?gu=/pics/gmustang06_2.jpg"; 

EDIT:

Vous pouvez définir l'URL du chemin vers une image qui sera affichée dans le contrôle d'image avec la syntaxe déclarative:

<asp:ImageField DataImageUrlField="id" DataImageUrlFormatString="img{0}.jpg"></asp:ImageField> 

ou dans le code sous-jacent en traitant l'événement OnRowDataBound du contrôle GridView:

protected void grd_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     Image img = e.Row.Cells[0].Controls[0] as Image; 
     img.ImageUrl = "img" + DataBinder.Eval(e.Row.DataItem, "id") + ".jpg"; 
    }  
} 
+0

Merci, il fonctionne, mais que dois-je faire et où, si je veux changer le champ d'image de chaque cellule et pas seulement sur la cellule [0]. Comme j'ai un champ Image dans mon GridView et un champ ID que je reçois de la DB. Si l'ID est 1, je veux afficher Image1.jpg et si ID est 2, je veux afficher Image2.jpg, et ainsi de suite. Cela doit-il être fait dans mon événement RowDataBound? – Etienne